URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97171
[ Назад ]

Исходное сообщение
"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."

Отправлено Dmitriy , 09-Апр-18 12:03 
Доброго времени суток!
Создал тестовый скрипт, который создает файл в директории (/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()


Содержание

Сообщения в этом обсуждении
"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено qq , 09-Апр-18 22:29 
> не создается по расписанию. В чем может быть проблема?
> Спасибо!

как создавал задачу? посмотри crontab -l
некоторые дистры выполняют только задачи, созданные через crontab -e


"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено eRIC , 10-Апр-18 07:28 
> не создается по расписанию. В чем может быть проблема?

ваш скрипт не работает по причине того что не может найти python так как cron работает в ограниченной среде (PATH и т.д.).

несколько решений, выбирайте любой:
1- укажите полный путь до python вместо #!/usr/bin/env python
2- переопределить PATH, чтобы содержал путь до python
3- запускать python с указанием вашего скрипта в crontab: /usr/bin/python /usr/home/test.py


"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено Dmitriy , 11-Апр-18 09:57 
>> не создается по расписанию. В чем может быть проблема?
> ваш скрипт не работает по причине того что не может найти python
> так как cron работает в ограниченной среде (PATH и т.д.).
> несколько решений, выбирайте любой:
> 1- укажите полный путь до python вместо #!/usr/bin/env python
> 2- переопределить PATH, чтобы содержал путь до python
> 3- запускать python с указанием вашего скрипта в crontab: /usr/bin/python /usr/home/test.py

Спасибо всем за предложенные варианты, скрипт запустился, указав в файле cron путь к компилятору python.


"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено ALex_hha , 20-Июн-18 00:40 
> Спасибо всем за предложенные варианты, скрипт запустился, указав в файле cron путь
> к компилятору python.

<зануда mode=on>Вообще-то питон интерпретируемый язык</mode>



"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено Andrey Mitrofanov , 20-Июн-18 09:59 
>> Спасибо всем за предложенные варианты, скрипт запустился, указав в файле cron путь
>> к компилятору python.
> <зануда mode=on>Вообще-то питон интерпретируемый язык</mode>

" Текущие версии PyPy [U]транслируются[/U] из RPython в Си и компилируются. "

транслятор не компилятор, да.

" Тип исполнения  --  интерпретируемый, [U]компилируемый[/U] в байт-код[1], [U]компилируемый[/U] в MSIL, [U]компилируемый[/U] в байт-код Java "

---при копипасте с википедии википедия не пострадала


"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено ALex_hha , 21-Июн-18 00:55 
>>> Спасибо всем за предложенные варианты, скрипт запустился, указав в файле cron путь
>>> к компилятору python.
>> <зануда mode=on>Вообще-то питон интерпретируемый язык</mode>
> " Текущие версии PyPy [U]транслируются[/U] из RPython в Си и компилируются. "
> транслятор не компилятор, да.
> " Тип исполнения  --  интерпретируемый, [U]компилируемый[/U] в байт-код[1], [U]компилируемый[/U]
> в MSIL, [U]компилируемый[/U] в байт-код Java "

> ---при копипасте с википедии википедия не пострадала

Слышал звон да не знаешь где он. Бывает


"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено Andrey Mitrofanov , 21-Июн-18 09:26 
>>>>файле cron путь
>>>> к компилятору python.
>> ---при копипасте с википедии википедия не пострадала
> Слышал звон да не знаешь где он. Бывает

Бро[I]!


"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено PavelR , 10-Апр-18 08:58 
> не создается по расписанию. В чем может быть проблема?
> filename = date_ymd + "_" + date_time + ".txt"
> fl = open(filename,"w")

Путь к файлу тоже должен быть абсолютным.



"Запуск скрипта на python 2.7 в FreeBSD 11 с помощью crontab."
Отправлено Аноним , 17-Июн-18 10:48 
Так попробуй, это если ты через crontab -e создавал. Если через cron.d и т.д. то root не нужен.
*/1 * * * * root cd /usr/home/; полный_путь_к_питону ./test.py