Задание Cron не выполняется python - PullRequest
0 голосов
/ 17 февраля 2020

Я пытался заставить cron запустить файл python, но он, похоже, не запускается. Команда в cron:

24 21 * * * python /mnt/c/Users/saifl/git/StaffTrainingLog/automate.py

И в журнале появилось следующее:

Feb 16 21:24:01 MSI CRON[3839]: (slatifi) CMD (python /mnt/c/Users/saifl/git/StaffTrainingLog/automate.py)

Однако на самом деле код не запускается. Когда я запускаю команду в бэкете выше, она работает без проблем. Пожалуйста, сообщите.

Обновление (после ответа Ромео):

Теперь я переместил команду в скрипт (automate_script):

#!/bin/bash
source ~/.bashrc
cd /mnt/c/Users/saifl/git/StaffTrainingLog
/usr/bin/python3 automate.py

И теперь у меня есть следующее в Crontab:

50 14 * * * /mnt/c/Users/saifl/git/StaffTrainingLog/automate_script

И при запуске /mnt/c/Users/saifl/git/StaffTrainingLog/automate_script в командной строке он работает, однако, он работает с cron, как он появляется в журнале, но ничего не происходит.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

При выполнении такого скрипта есть несколько вещей, которые нужно сделать. И для этой цели лучше создать специальный скрипт.

#!/bin/bash
source ~/.bashrc
cd /mnt/c/Users/saifl/git/StaffTrainingLog
/path/to/python  automate.py
  1. Исходный код .bashrc для получения настроек среды
  2. cd в каталог, где находится скрипт
  3. запустите его с абсолютным путем к python

и запустите указанный выше скрипт в cron

24 21 * * * /path/to/the/script

Не забудьте сделать исполняемый скрипт

0 голосов
/ 17 февраля 2020

Интересно ... Ваш cron настроен правильно и работает. Проблема, вероятно, с вашим сценарием. Может быть, вы забыли добавить к нему разрешение exe c? Попробуйте запустить chmod +x path/to/your/script, а затем снова запустите свой cron.

...