我正在制作一个程序,使用MysqlDump从java中自动备份MySQL数据库。我想创建文件并压缩它。但是,我遇到了MySQLDump的问题。
我正在使用以下内容创建一个MySQLDump:
pr.isAlive()
我有一个while循环,如果{{1}},它会保留在循环中。我认为这会起作用,但似乎在执行命令时,该过程立即变得不再活跃。我可以让线程睡觉,但是多久?如何进行相同的SQL备份,但检测mysqldump命令何时完成?
答案 0 :(得分:0)
该命令立即退出。 失败,因为mysqldump
无法理解重定向。
这不是您使用Process
的方式。你需要:
ProcessBuilder
。sh -c
或cmd /c
添加到命令行的开头以处理重定向。Process.waitFor()
。为什么你根本不使用Java就是一个谜。它只是一个shell脚本。实际上,您可以让MySQL自动安排自己的备份,甚至不需要脚本。