我正在使用以下 java 代码将 cron 作业写入我的 crontab 文件
PrintWriter writer = new PrintWriter("/var/spool/cron/crontabs/multi","UTF-8");
String cronTabString="25 13 * * * sudo wget --tries=0 \"https://some-url.com:7443/DataUpdater/updateChildren?folderId="+folderId+"&clientId="+clientId+"&clientSecret="+clientSecret+"&refreshToken="+refreshToken+"&deptName="+deptName+"\"";
writer.println(cronTabString);
writer.close();
代码已成功写入 cron 选项卡文件。但它不运行。我的问题是,是否有可能以这种方式执行 cron 作业?根据我的说法,这是一个有效的 cron 选项卡条目,因此应该执行它。我在这里遗漏了什么吗?
最佳答案
尝试以下操作:
crontab -r
crontab /var/spool/cron/crontabs/multi
(编辑)我相信 Java,你可以这样调用它们:
Runtime.getRuntime().exec("crontab -r");
Runtime.getRuntime().exec("crontab /var/spool/cron/crontabs/multi");
第一个删除现有的 crontab。第二个安装新的 crontab。然后你可以通过做验证:
crontab -l
关于java - 以编程方式将 cron 作业写入 crontab 文件无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39103621/