我正在尝试在具有最小安装的 Ubuntu VPS 中使用 cron,因此我必须运行apt-get install cron
。但是,假设我运行crontab -e
并添加(以 root 身份)以下行:
* * * * * date >> /root/datelog
我收到成功通知:
crontab: installing new crontab
但/root/datelog
从未被创建如果我尝试,start cron
我会得到:
start: Job is already running: cron
另一方面,ps
没有产生任何东西:
# ps -ef|grep cron
root 3087 10498 0 Mar17 pts/24 00:00:00 grep --color=auto cron
root 29081 7863 0 Mar13 pts/8 00:00:00 man crontab
有什么想法吗?谢谢!
编辑:按照 ImaginaryRobots 的建议,我修改了我的 crontab,如下所示...但无济于事。
* * * * * date >> /root/datelog
* * * * * date >> /tmp/datelog
* * * * * /bin/date >> /root/bindatelog
* * * * * /bin/date >> /tmp/bindatelog
即,/root
或 中均没有出现此类文件/tmp
。
编辑2:也许我应该提一下,Ubuntu 12.04(或者至少是这个 VPS)给了我一个我认为是众所周知的错误apt-get upgrade
:
mount: permission denied
dpkg: error processing initscripts (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
initscripts
E: Sub-process /usr/bin/dpkg returned an error code (1)
软件包安装似乎没有问题。但这可能最终会影响系统的行为...
答案1
列出 cron 作业调用的任何内容的完整路径是一种很好的做法,因为环境变量并不总是与用户的环境变量相同。此外,由于您正在尝试调试某些内容,请尝试写入 /tmp/ 目录。尝试以下行:
* * * * * /bin/date >> /tmp/datelog