我正在为应用程序编写一个小备份程序。这将在我的 k8s 集群中作为 CronJob 运行。在某一时刻,它应该在另一个 pod 内的数据库上触发 mysql 转储。
我的代码:
Exec exec = new Exec();
Process process = exec.exec(
"default",
"database-pod",
new String[]{"sh", "-c", ""mysqldump -u {{user}} --p={{password}} schema > dbdump.sql",
false,
tty
);
process.waitFor();
process.destroy();
int exitValue = process.exitValue();
process.exitValue() 始终包含 3 + 创建的 mysql 转储文件,但不包含任何 sql 语句。有人知道我做错了什么吗?
我的备份程序的基本映像是 gcr.io/distroless/java:11 如果有帮助并且是使用Jib构建的