запланировать скрипт python через crontab

Я пытаюсь добавить скрипт Python в crontab со следующими строками:

0 * * * * /pathtoexecutable/file.py
0 0 1 * 1 /pathtoexecutable/file2.py

Файлы представляют собой исполняемые скрипты Python.

file.py далее инициирует около 15 подпроцессов, которые сохраняют информацию в базе данных MySQL.

file2.py, очевидно, выполняется и через crontab.

По какой-то причине file.py не работает через crontab, но если я запускаю его через командную строку, он работает.


person 7HUND3RX    schedule 06.06.2012    source источник
comment
Вы активировали вход в cron? Что в журнале?   -  person Emil Vikström    schedule 06.06.2012


Ответы (1)


1) Отловить вывод и ошибки ваших скриптов:.

0 * * * * /pathtoexecutable/file.py &>> /path/some/log.txt
0 0 1 * 1 /pathtoexecutable/file2.py &>> /path/some/log2.txt

2) Убедитесь, что каждый файл Python начинается с шебанга: #! /usr/bin/окружение Python

3) Также убедитесь, что каждый файл python имеет режим выполнения (chmod +x file.py)

person Zashas    schedule 06.06.2012
comment
ничего не получил в журналах.. они пусты, вы пропали ›› между ними, я думаю.. пробовали как 2›&1 ›› /path/some/log, так и 2›&1 /path/some/log В них ничего нет, python файлы начинаются с шебанга. Я могу выполнить их из командной строки без явного указания интерпретатора. У них есть 777 разрешений. - person 7HUND3RX; 07.06.2012
comment
Нет проблем, Захсас. Теперь у меня это работает, хотя я этого не понимаю ... измененная команда для включения интерпретатора. Скрипты содержат shebang, но все же они не выполняются непосредственно из cron. Они работают, указав интерпретатор в /usr/local/bin. Спасибо за ваше время. Оценил! - person 7HUND3RX; 07.06.2012