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