cron作业是否触摸输出文件

时间:2016-06-08 19:47:24

标签: unix cron crontab monitoring io-redirection

我的cron工作形式为:

*/5 * * * * /path/to/script.sh >> /tmp/script.out 2>&1

重定向空echo的输出并将其附加到输出文件时,修改日期会更改。 我的问题是,如果在cron的输出文件中也会出现这种情况吗?

我想知道这是为了验证文件上次执行的时间而不必故意写入文件。

2 个答案:

答案 0 :(得分:1)

如果您的脚本没有输出任何内容,则输出文件不会被“触摸”,即修改时间不会更新。但是你可以在这种情况下明确添加“触摸”:

        @Override
        public int getCount() {
            return datamodel.size();
        }

顺便说一下,*/5 * * * * /path/to/script.sh >> /tmp/script.out 2>&1; touch /tmp/script.out 输出并不是空的,它会产生换行符(即LF =换行符):

echo

答案 1 :(得分:1)

(已经评论过:当文件不存在时,会创建(触摸)。当它存在时,它不会被触及。)

当cron启用时(usr /密码未被阻止,没有cron被拒绝)我会信任cron。当你想看看一切是否正常时,你应该从脚本中获取生命周期(目录和权限仍然有效,在shebang结束时没有^ M,没有无效的更改或其他失败的依赖项)。
最好的方法是从脚本中调用touch文件。