如果replicationTest.txt不存在并且replicationTestSeen.txt确实存在于特定目录中,我正在尝试编写一个cronjob来执行操作。现在我正在做的事情不起作用。这是我正在做的事情:
0 3 * * 0 [ [ ! -e/dv1/replicationtest/replicationTest.txt ] && [ -e/dv1/replicationtest/replicationTestSeen.txt ] ] && echo '复制通过' | mail -s '复制测试已通过' myemail@email.com || echo '复制失败' | mail -s '复制失败' myemail@email.com
即使条件适合 cron 发送电子邮件复制,它仍然会发送电子邮件复制失败。
最佳答案
您正在混合您的测试
。这种 [ [ ... ] && [ ... ] ]
模式不应该起作用。有关详细信息,请参阅 this answer。如果您将测试更改为此,它应该可以工作:
[[ ! -e ... ]] && [[ -e /dv1/... ]]
先在 cron 之外测试您的条件,然后再将其放入 crontab。并确保 which shell your cron is actually set to use 。
关于linux - 检查文件是否存在 cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31411472/