我正在尝试调试为什么我的 cron 任务不起作用
以下是我目前所掌握的信息:
* * * * * /bin/echo "cron works" >> /tmp/test_cron_hello <-- WORKS
* * * * * cd ~/bot-v2 & date >> /tmp/test_cron_hello <-- WORKS
* * * * * cd ~/bot-v2 & date >> logs/cron.txt <-- DOES NOT WORK
我知道 ~/bot-v2/logs/cron.txt 是一个有效的文件和文件夹,并且我正在以 root 身份运行 crontab -e。
答案1
您需要的&&
不是&
。
解释:
如果命令以控制操作符 & 终止,则 shell 会在子 shell 中在后台执行该命令。(男人猛击)
&
将发送命令(cd ~/bot-v2
)到后台,它将在子壳,因此对于下一个命令,date >> relative/path/to/file
您根本不会更改目录。
在终端中尝试cd ~/bot-v2 &
,您将看到当前 shell 不会更改目录。
也可以看看: