планирайте 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 започва с shebang: #! /usr/bin/env python

3) Уверете се също, че всеки файл на Python има режим на изпълнение (chmod +x file.py)

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