我真的被困住了。我在很多机器上都使用过cron,但我根本无法让它在Ubuntu服务器上运行。我已经尝试了周末所能想到的一切,我感到很困惑。我希望有人可以帮助我。
我可以通过pgrep cron
验证cron是否正在运行。但是,pgrep crond
不返回任何内容。我正在尝试使用cron运行一个简单的shell脚本(test.sh):
#!/bin/sh
/usr/bin/touch /home/jarvis/test.txt
我在shell脚本上运行chmod +x
,我的crontab看起来像这样:
01 * * * * /home/jarvis/test.sh
我还有一行在行后结束。
答案 0 :(得分:1)
尝试将所有输出重定向到文件,看看是否有任何可以帮助您诊断问题的错误消息,即
01 * * * * /home/jarvis/test.sh > /tmp/jarvis_test.log 2>&1
此外,如果您从Windows环境中创建了任何这些文件,请不要忘记dos2unix filename
修改强>
我的观点是你不会知道你的脚本在crontab环境中做了什么,除非你看它是否输出了一条错误信息。错误消息也会转到本地crontab用户的电子邮件,因此请尝试mail
(作为同一用户),看看您的crontab中是否有大量消息。
pgrep crond
没有任何回音听起来像问题,但我不是系统管理员。也许您想要标记这一点,并要求主持人转移到https://serverfault.com/
我希望这会有所帮助。
答案 1 :(得分:0)
我认为它与用户权限有关。尝试在每小时,每周文件中输入默认的crontab,如果它在那里工作,那么你的cron是好的。另外,检查/ var / log / messages是否有任何cron条目。查看/ etc / crontab以获取详细配置。