我正在尝试编写一个cronjob来执行操作,如果replicationTest.txt不存在,并且replicationTestSeen.txt确实存在于特定目录中。现在我正在做的事情不起作用。这是我正在做的事情:
0 3 * * 0 [[! -e /dv1/replicationtest/replicationTest.txt]&& [-e /dv1/replicationtest/replicationTestSeen.txt]]&& echo'复制已通过' | mail -s'复制测试通过' myemail@email.com ||回声'复制失败' | mail -s'复制失败' myemail@email.com
即使条件适合cron到电子邮件复制传递,它仍然是电子邮件复制失败。
答案 0 :(得分:0)
你正在混合你的test
。这种[ [ ... ] && [ ... ] ]
模式不应该起作用。有关详细信息,请参阅this answer。如果您将测试更改为此应该可以正常工作:
[[ ! -e ... ]] && [[ -e /dv1/... ]]
在将它们放入crontab之前测试cron之外的条件。并确保which shell your cron is actually set to use。