Я хочу запланировать задачу с помощью crontab для запуска файла python в определенной среде anaconda каждый день в определенное время. Для этого у меня есть скрипт python.
Сценарий python запускается, если я просто выполняю его с помощью python h.py
в среде anaconda в терминале. h.py
находится в домашнем каталоге.
Я использую Ubuntu 20.04, и я не обновлял и не устанавливал никаких новых cron или crontab
Я пробовал следующие команды, чтобы заставить его работать, но они просто ничего не делают (результатом должна быть папка, но она явно не была создана)
crontab -e
Внутри crontab:
#[long descriptional text]
...
53 13 * * * cd /home/ && /home/user/anaconda3/envs/rapids/bin/python h.py
Это тоже ничего не делает: нет сообщения об ошибке
Я также пробовал следующее:
32 14 * * * cd /home/Documents && /home/user/anaconda3/envs/rapids/bin/python h.py
и
34 14 * * * cd /home/Documents && /home/anaconda3/envs/rapids/bin/python h.py 2>&1
От этот ответ на Stack Overflow.
Этот ответ на Unix & Linux не работал с обычной анакондой.
Я также прочитал следующие решения, но ничего не помогло.
Одна вещь, о которой я думал, но не пробовал, это установка демона для crontab, как рекомендуется в этом ответе, но я не смог найти cronie для установки для Ubuntu.
Если для файла Python требуется только python (а не другая библиотека)
56 16 * * * / home / MY_ACTUAL_USERNAME / anaconda3 / envs / rapids / bin / python /home/MY_ACTUAL_USERNAME/Documents/h.py
Если для файла Python требуются другие библиотеки Python, находящиеся в среде anaconda:
создайте сценарий SHELL
nano my_shell_file_name.sh
Пример того, что должно быть внутри файла
#! / Bin / bash
# conda activate rapids НЕПРАВИЛЬНО
source ~ / anaconda3 / bin / activate MY_ANACONDA_ENVIRONMENT_NAME #correct
# python Documents / my_python_file_name.py НЕПРАВИЛЬНО ПЕРЕХОДИТЕ В ПАПКУ WHTAN ВЫПОЛНИТЬ ЛИБО python
cd ~ / Documents / folder_where_python_file_is / #correct
python my_python_file_name.py #correct deactivate {1}} con }}
запустите crontab с помощью
crontab -e
пример того, что вы можете добавить в конец этого файла crontab
43 21 * * * / home / MY_ACTUAL_USERNAME / my_sehell_file_name .sh