来自(哪里为什么我的 crontab 不工作?我该如何排除故障?我还是不知道为什么我的命令没有被执行。
我得到了针对 root 和 www-data 的相同命令
我的 cron 日志显示 cron 每分钟执行一次
但是,我从未得到 /tmp/crontest.log 文件。我注意到这个问题是因为我想让 wordpress 成为外部 cron(执行 php 文件)。
当然,从命令行执行该命令是有效的。
有小费吗?
答案1
您的crontab
文件的行尾错误 - 它以回车符 (CR)/换行符 (LF) 结尾。您可以在第一个屏幕截图中看到这一点,[dos]
文件名后面有一个。Unix 系统仅期望行以换行符结尾,而 Windows 系统使用回车符/换行符对。
有几种方法可以纠正这个问题。你似乎很熟悉vi
,我建议这将 CR/LF 替换为 LF。只需编辑crontab
,然后进行搜索和替换即可。
答案2
- dos2unix 命令可以将文件中的 DOS CR/LF 字符转换为正确的 LF。可能比在编辑器中乱搞更容易。
- 根据您的编辑器,它可能不会在最后一行留下尾随的 LF。某些 cron 实现仍然无法运行 crontab 文件中的最后一个命令,除非在末尾以 LF 字符终止。