从java执行tar命令无法按预期工作。下面是相同的代码行。 tar文件正在创建,但它是空的,尽管目录中有匹配的tar文件。不确定可能是什么问题。任何输入都会有所帮助。
注意:当我在终端上执行它时,相同的命令工作正常,tar球具有所有预期的文件。
String cmd = "tar -cvzf /tmp/logs.tar.gz /home/test/log/status.*"
try {
Process p1 = Runtime.getRuntime().exec(cmd);
p1.waitFor();
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
显然扩展status.*
不起作用。试试没有它。作为替代方案,解决Java代码中的输入文件/目录。使用java.nio
执行此操作。
正如Gyro Gearless在评论中提到的那样,也可以将tar命令包装在脚本中并从Java代码中执行。