не могу получить работу cron на Debian - PullRequest
3 голосов
/ 15 сентября 2011

У меня есть 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 Ответ

3 голосов
/ 15 сентября 2011

Все намного проще, чем это!

Верните все ваши изменения в crontab и вместо этого добавьте ссылку на ваш скрипт в /etc/cron.daily или /etc/cron.hourly по мере необходимости. Как часто вы хотели бы запустить? Если чаще или точнее, я могу помочь вам там. Но если вы просто хотите, чтобы ежедневный / почасовой скрипт запускался, поместите его (или ссылку на него) в один из этих каталогов.

Если вы хотите контролировать конкретное время выполнения вашего скрипта, лучше поместите его в crontab: 0 1 * * * имя пользователя / путь / к / моему / скрипт

Вы просто пропустили имя пользователя! Когда это произошло, ваша вкладка cron выглядела бы неправильно, и поэтому вы не смогли запустить /etc/init.d/cron заново;)

p.s, чтобы добавить ссылку в каталог cron.daily:

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

...