linux - 检查文件是否存在 cron 作业

标签 linux email cron boolean

如果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/

相关文章:

c - 接受安全/面向 future 的方式来解析/proc/%d/stat?

c - 命名管道 C 问题

java - 在没有 JavaMail API 的情况下用 java 发送电子邮件

java - 找出模型属性在 Hybris 中发生变化的地方

linux - crontab 中添加的新任务未运行

cron - 如何在 cron 中运行 php 脚本

linux - Rsync 到 Amazon Ec2 实例

c - 如何在 ubuntu 11.10 上调用 setjmp?

java - 本地 Google Appengine 上的 JUnit 测试中的电子邮件正文为空

ruby-on-rails - 发件人电子邮件被 smtp 设置用户名覆盖