2014-12-22 2 views
2

Мне удалось настроить Cygwin Crontab на Windows. Мне нужно запустить скрипт Python каждые 5 минут.Запустить скрипт Python с помощью Cygwin Crontab на Windows

*/5 * * * * run-one C:\Python27\Scripts\myScript.py > C:\Python27\Scripts\myScript.log 2>&1 

Выше не работает в кротабе. Также файл журнала cygstart cron.log пуст. Как я могу исправить и запустить скрипт?

P.S. Скрипт работает нормально, используя простой редактор.

+3

Возможно, вам придется добавить 'C: \ Python27 \ python' перед' C: \ Python27 \ Scripts \ myScript.py> ... ' – martineau

ответ

3

Запустите сценарий непосредственно в командной строке Cygwin:

C:\Python27\Scripts\myScript.py > C:\Python27\Scripts\myScript.log 2>&1 

Если это не работает, вам может понадобиться указать python.exe непосредственно и использовать прямой слэш («/»), а не обратной косой черты (» \ "):

C:/Python27/python.exe C:/Python27/Scripts/myScript.py > C:/Python27/Scripts/myScript.log 2>&1 

Если это работает, то убедитесь, что cron запущен. Если он работает, он должен дать аналогичный вывод, как показано ниже:

$ cygcheck.exe -c | grep cron 
cron      4.1-61    OK 
cron-debuginfo   4.1-61    OK 

$ cygrunsrv -Q cron 
Service    : cron 
Display name  : Cron daemon 
Current State  : Running 
Controls Accepted : Stop 
Command    : /usr/sbin/cron -n 

$ ps -lef | grep cron 
    SYSTEM 4852 4680 ?  15:16:50 /usr/sbin/cron 

Если он не запущен, запустите

$ cygrunsrv --start cron 

Если есть ошибка, возможно, потребуется переустановить хрон.

$ cyglsa-config 

Тогда

$ cron-config 

и следуйте инструкциям.

+0

Спасибо большое! Действительно полезный ответ. Сценарий работает хорошо в командной строке Cygwin. и я проверил cron, что он тоже работает. но как только я устанавливаю новый crontab для автоматического запуска скрипта, он не работает. Есть идеи? – Shad