Доброго времени суток!
Создал тестовый скрипт, который создает файл в директории (/usr/home), где находится скрипт. В имени файла содержится дата его создания. Владелец файла пользователь root, скрипту далды разрешение на выполнение. Запуская скрипт в папке создается нужный файл, но добавив в файл /etc/crontab строку
*/1 * * * * root /usr/home/test.py в домашнем каталоге рута файл не создается по расписанию. В чем может быть проблема?Спасибо!
Код test.py
#!/usr/bin/env python
import datetime
import time
dt = datetime.datetime.now()
date_ymd = str(dt)[:10]
date_time = str(dt)[11:19]
filename = date_ymd + "_" + date_time + ".txt"
fl = open(filename,"w")
fl.close()
> не создается по расписанию. В чем может быть проблема?
> Спасибо!как создавал задачу? посмотри crontab -l
некоторые дистры выполняют только задачи, созданные через crontab -e
> не создается по расписанию. В чем может быть проблема?ваш скрипт не работает по причине того что не может найти python так как cron работает в ограниченной среде (PATH и т.д.).
несколько решений, выбирайте любой:
1- укажите полный путь до python вместо #!/usr/bin/env python
2- переопределить PATH, чтобы содержал путь до python
3- запускать python с указанием вашего скрипта в crontab: /usr/bin/python /usr/home/test.py
>> не создается по расписанию. В чем может быть проблема?
> ваш скрипт не работает по причине того что не может найти python
> так как cron работает в ограниченной среде (PATH и т.д.).
> несколько решений, выбирайте любой:
> 1- укажите полный путь до python вместо #!/usr/bin/env python
> 2- переопределить PATH, чтобы содержал путь до python
> 3- запускать python с указанием вашего скрипта в crontab: /usr/bin/python /usr/home/test.pyСпасибо всем за предложенные варианты, скрипт запустился, указав в файле cron путь к компилятору python.
> Спасибо всем за предложенные варианты, скрипт запустился, указав в файле cron путь
> к компилятору python.<зануда mode=on>Вообще-то питон интерпретируемый язык</mode>
>> Спасибо всем за предложенные варианты, скрипт запустился, указав в файле cron путь
>> к компилятору python.
> <зануда mode=on>Вообще-то питон интерпретируемый язык</mode>" Текущие версии PyPy [U]транслируются[/U] из RPython в Си и компилируются. "
транслятор не компилятор, да.
" Тип исполнения -- интерпретируемый, [U]компилируемый[/U] в байт-код[1], [U]компилируемый[/U] в MSIL, [U]компилируемый[/U] в байт-код Java "
---при копипасте с википедии википедия не пострадала
>>> Спасибо всем за предложенные варианты, скрипт запустился, указав в файле cron путь
>>> к компилятору python.
>> <зануда mode=on>Вообще-то питон интерпретируемый язык</mode>
> " Текущие версии PyPy [U]транслируются[/U] из RPython в Си и компилируются. "
> транслятор не компилятор, да.
> " Тип исполнения -- интерпретируемый, [U]компилируемый[/U] в байт-код[1], [U]компилируемый[/U]
> в MSIL, [U]компилируемый[/U] в байт-код Java "
> ---при копипасте с википедии википедия не пострадалаСлышал звон да не знаешь где он. Бывает
>>>>файле cron путь
>>>> к компилятору python.
>> ---при копипасте с википедии википедия не пострадала
> Слышал звон да не знаешь где он. БываетБро[I]!
> не создается по расписанию. В чем может быть проблема?
> filename = date_ymd + "_" + date_time + ".txt"
> fl = open(filename,"w")Путь к файлу тоже должен быть абсолютным.
Так попробуй, это если ты через crontab -e создавал. Если через cron.d и т.д. то root не нужен.
*/1 * * * * root cd /usr/home/; полный_путь_к_питону ./test.py