Я продолжаю пытаться запустить задание cron, которое выполняет скрипт на python каждую минуту.Выполнив «какой питон», я настроил задание cron следующим образом:
SHELL=/bin/bash
MAILTO=MyMac
PATH=bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
*/1 * * * * * /Users/MyMac/anaconda3/bin/python
/Users/MyMac/desktop/cron_test/test.py
Описание задания находится в одной строке, а в конце определения есть символ новой строки.
Я получаю следующую ошибку в /var/mail/MyMac
:
/bin/bash: AnacondaProjects: command not found
Итак, я удалил:
SHELL=/bin/bash
и получил:
/bin/sh: MyMac: command not found
Затем я попробовал всевозможные комбинации / usr / bin / python с или без lib, anaconda и т. д., с указанием или без указания PATH, SHELL, MAIL.К сожалению, безуспешно.
Что я делаю не так?
Редактировать
Итак, вот краткое изложение того, что я сделал в соответствии с полученными советами:
Я попытался:
* * * * * env > /tmp/env.output,
Сначала я получил ошибку:
/bin/bash: /tmp/env.output: Permission denied,
, поэтому я сделал cron Job как sudo.Путь в env.output:
PATH= bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/Users/MyMac/AnacondaProjects
Наконец, я установил свой cronjob (как обычный пользователь, а не sudo) на:
SHELL=/bin/bash
MAILTO=my_address@mail.com
PATH=bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/Users/MyMac/AnacondaProjects:/Users/MyMac/anaconda3/bin/python:/usr/bin/env
* * * * * /Users/MyMac/anaconda3/bin/python /Users/MyMac/desktop/cron_test/test.py
Он все еще не работает.Код Python:
#!/usr/bin/env python
def main():
f = open("test.txt", "w+")
f.write("HELLO" + '\n')
f.close()
if __name__ == "__main__":
print("Print")
main()
Я с нетерпением жду, чтобы получить и опробовать новые подходы.