无法在debian上运行cron工作

时间:2011-09-15 08:55:14

标签: linux cron debian crontab

我有几个网站的Debian VPS。我目前正在大量使用django。

我想要一个cron作业来运行并在我的一个django站点中安排脚本。结果是我不能让Cron工作运行,我不知道如何对它进行排序,因为我没有很多Linux经验。

我的/ etc / crontab文件

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
HOME=/home/shofty
LOGNAME=shofty
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO="info@webbricks.co.uk"

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report     /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

所以我在“crontab -e”

中设置了这份工作
50 10 * * * /home/shofty/virtualenvs/webbricks/bin/chronograph -e /home/shofty/virrtualenvs/webbricks/bin/activate_this.py -p /home/shofty/virtualenvs/webbricks

但它似乎没有在我尝试时运行(10:50是任意的,我每隔几分钟就调整一次,以便在更改设置或其他设置后运行它。)

我认为cron正在运行,因为我可以做到

/etc/init.d/cron stop

但启动失败的同一命令。很明显,以后让它再次运行。 从我读过的所有内容来看,ps aux的输出暗示它正在运行。

root@shoftys - server>_ /home/shofty# ps aux | grep cron 
root     19106  0.0  0.0  18548   948 ?        Ss   10:42   0:00 /usr/sbin/cron
root     27130  0.0  0.0   3876   600 pts/0    S+   15:52   0:00 grep cron

我添加了一个> /home/shofty/virtualenvs/webbricks/cron.log到crontab中的命令,但它似乎不想输出日志文件。 并且我在/ var / log / cron中一无所获,它只是说它是一个新文件。

作为一个菜鸟,我有点不确定下一步该去哪,对于linux,debian和cron有更多了解的人会建议下一步去哪看?

1 个答案:

答案 0 :(得分:3)

比这更容易!

将所有更改还原到crontab,然后根据需要在/etc/cron.daily或/etc/cron.hourly中添加指向脚本的链接。你想多久运行一次?如果更频繁或更精确的时间,我也可以帮助你。但是,如果您只想运行每日/每小时脚本,请将其(或其链接)放在其中一个目录中。

如果要控制脚本运行的具体时间,最好将其放在crontab中: 0 1 * * *用户名/路径/到/我/脚本

你只是错过了用户名!当发生这种情况时,您的cron-tab看起来会出错,这就是为什么您无法再次启动/etc/init.d/cron;)

p.s将链接添加到cron.daily目录中:

ln -s / path / to / my / script /etc/cron.daily/scriptname