Подтвердить что ты не робот

Выполнить python Script на Crontab

Я пытаюсь выполнить python script с помощью linux crontab, но я нашел много решений, и никто из них не работает. Например: отредактируйте anacron на /etc/cron.d или используйте crontab -e.

Я хочу запустить этот script каждые 10 минут.

Какой файл нужно изменить для его настройки?

Заранее спасибо

ИЗМЕНИТЬ

Я помещаю эту строку в конец файла, но ничего не меняет. Нужно ли мне перезапускать какие-либо службы?

*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py

ИЗМЕНИТЬ [2]

Ребята, я следил за исходным кодом. Там может быть проблема, но когда я выполняю ее вручную, она работает:

http://pastebin.com/qsWHNzqT

4b9b3361

Ответ 1

Просто используйте crontab -e и следуйте инструкциям здесь:

http://adminschoice.com/crontab-quick-reference

Посмотрите на пункт 3 для руководства по определению частоты.

В соответствии с вашим требованием, это должно быть эффективно:

*/10 * * * * /usr/bin/python script.py

Ответ 2

Поместите свой script в файл foo.py, начиная с

#!/usr/bin/python

затем предоставить разрешение на выполнение для этого script с помощью

chmod a+x foo.py

и используйте полный путь к вашему foo.py файлу в crontab.

См. документацию execve (2), которая обрабатывает shebang

Ответ 3

Как вы уже упоминали ничего не меняет,

Сначала вы должны перенаправить как stdin, так и stderr из выполнения crontab, как показано ниже:

*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py > /tmp/listener.log 2>&1

то вы можете просмотреть файл /tmp/listener.log, чтобы увидеть, выполняется ли script, как вы ожидаете.

Во-вторых, предположите, что вы имеете в виду изменить что-либо, наблюдая файлы, созданные вашей программой:

f = file('counter', 'r+w')
json_file = file('json_file_create_server.json','r+w')

работа crontab выше не будет создавать эти файлы в каталоге /home/souza/Documets/Listener, так как задание cron не выполняется в этом каталоге, и вы используете относительный путь в программе. Итак, чтобы создать этот файл в каталоге /home/souza/Documets/Listener, следующее задание cron сделает трюк:

*/2 * * * * cd /home/souza/Documets/Listener && /usr/bin/python listener.py > /tmp/listener.log 2>&1

Измените рабочий каталог и выполните script, затем вы сможете просматривать созданные файлы.