我正在尝试编写cronjob来执行某个操作,前提是ReplicationTest.txt不存在,而ReplicationTestSeen.txt确实存在于特定目录中。目前,我正在做的事情没有用。这是我在做什么:

0 3 * * 0 [[! -e /dv1/replicationtest/replicationTest.txt] && [-e /dv1/replicationtest/replicationTestSeen.txt]] &&回显“复制已通过” | mail -s“复制测试已通过” [email protected] ||回显“复制失败” |邮件-s'复制失败'[email protected]

即使cron通过电子邮件复制的条件合适,电子邮件复制仍然失败。

最佳答案

您正在混合test[ [ ... ] && [ ... ] ]的这种模式不起作用。有关详细信息,请参见this answer。如果将测试更改为此,它应该可以工作:

[[ ! -e ... ]] && [[ -e /dv1/... ]]


将条件放入crontab之前,请先在cron之外测试您的条件。并确保which shell your cron is actually set to use

10-07 17:06