Запускаем Python-скрипт с помощью Cron на Linux
#Подготавливаем сервер и переносим на него проект
- Создаём или обновляем файл с зависимостями
pip freeze > requirements.txt
- Создаём папку для приложения на сервере
mkdir ikea
cd ikea
- Устанавливаем виртуальное окружение
virtualenv -p python3 venv
если модуль не установлен, устанавливаем
pip3 install virtualenv
- Копируем файлы в папку приложения. Папку со скриптом и requirements.txt
scp /mnt/c/Users/Дарья/YandexDisk/Python Projects/ikea/requirements.txt user@11.22.33.44:/home/lukin/projects/ikea/
Для копирования папки целиком указываем параметр -r
scp -r /mnt/c/Users/Дарья/YandexDisk/Python Projects/ikea/ikea user@11.22.33.44:/home/lukin/projects/ikea/
Если надо переименовать папку
mv староеимя новоеимя
- Активируем виртуальное окружение и устанавливаем зависимости
source venv/bin/activate
pip install -r requirements.txt
#Настраиваем расписание
- Открываем планировщик
crontab -e
- Задаём расписание. Расписание можно сгенерировать, например на cronmaker.com
0 */1 * * * cd /home/lukin/projects/ikea/ikea && /home/lukin/projects/ikea/venv/bin/python3 ikea_app.py
или
* * * * * /bin/bash -c 'source /home/lukin/projects/realty/venv/bin/activate;cd /home/lukin/projects/realty && python3 ikea_app.py'
#Как понять что Cron срабатывает?
tail /var/log/syslog # получаем "хвост", последние 10 строк лог-файла