Запустить скрипт Python из Ubuntu cronjob - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь запустить простой скрипт на python на виртуальной машине под управлением Ubuntu 18, размещенной на моей Synology.Скрипт python просто печатает дату и время в файле, чтобы я мог проверить, запускался он или нет.Это выглядит так:

from datetime import datetime
with open('file.txt','a') as file:
    file.write('Recorded at: %s\n' % datetime.now())

Я сделал cronjob, который выглядит так:

* * * * * /home/anaconda3/bin/python3.7 /home/Documents/crontest.py

Я перепробовал много вариантов.Например, не писать 3.7, а просто написать «python».Я попробовал путь по умолчанию на python /usr/bin/python3.7.

Кроме того, я попытался добавить в скрипт shebang #! / Home / anaconda / bin / python3.7 и не указывать путь вcronjob.

Такое ощущение, что я здесь упускаю что-то элементарное.Я перепробовал много опций, опубликованных в Stack и других форумах, но ни один из вариантов, похоже, не решил мою проблему.

1 Ответ

0 голосов
/ 12 февраля 2019

Использование относительных ссылок в скриптах Python запрещено при запуске cronjobs.Так что это работает, когда я пишу это так:

from datetime import datetime
with open('/home/Documents/file.txt','a') as file:
    file.write('Recorded at: %s\n' % datetime.now())

Кроме того, я использовал неправильный путь к Python.Я написал /python3.6 вместо / python3, который я нашел, набрав

which python3

в терминале.

...