Описание процесса запуска скриптов python на сервере Linux.
Альтернативы cron на python — timer или периодические задачи (celery).
Подготовка сервера
Сервер должен быть сконфигурирован для работы с python. Повторю основное из статьи по ссылке.
На сервере должны быть установлены пакеты для python:
Установлен пакет python3-venv:
Положить файлы в требуемую директорию и создать там виртуальную среду:
Подготовка файла
В верху файла python добавить строку ведущую к виртуальному окружению python:
Сделать файл исполняемым:
Если нужны зависимости (модули) к файлу их можно отдельно установить через файл requirements.txt.
Добавление в cron
Есть отдельная статья по работе с кроном в Linux.
Открыть крон файл:
А если мы вошли в качестве другого пользователя, то создадим сначала ему кронтаб:
Если будет ошибка:
Будет предложено какой редактор использовать для просмотра кронов. Пропустите это сначала и посмотрите где находится nano (если конечно предпочтение отдается ему):
А затем указывая его путь установим редактор по умолчанию:
Добавить наш скрипт:
Строка состоит из: время запуска / скрипт запуска / лог запуска (если ошибок не будет, он будет пустым, если специально туда ничего не выводить).
Возможные ошибки
Не видится путь к модулям. Используйте эту статью.
#!/bin/bash
source $HOME/.profile
export DISPLAY=:0.0
cd /home/zmeika/ && python3 Rossiya.py
Запускаем crontab -e
MAILTO=""
*/1 * * * * /tmp/stats.sh
SHELL=/bin/bash
30 11 * * * $HOME/cron_job.sh
Все работает!