# Настройка автоматического запуска runner.sh См. также [`docs/ARCHITECTURE.md`](ARCHITECTURE.md) — состав пайплайна. Есть два способа настроить запуск `runner.sh` каждый час: ## Вариант 1: Systemd Timer (рекомендуется) В проекте уже используются systemd-сервисы. ### Установка 1. Скопируйте файлы в systemd: ```bash sudo cp services/runner.service /etc/systemd/system/ sudo cp services/runner.timer /etc/systemd/system/ ``` 2. Или используйте скрипт установки: ```bash chmod +x services/install_runner_timer.sh sudo bash services/install_runner_timer.sh ``` 3. Вручную: ```bash sudo systemctl daemon-reload sudo systemctl enable runner.timer sudo systemctl start runner.timer ``` ### Управление - Статус: `sudo systemctl status runner.timer` - Остановить: `sudo systemctl stop runner.timer` - Запустить: `sudo systemctl start runner.timer` - Отключить: `sudo systemctl disable runner.timer` - Логи: `sudo journalctl -u runner.service -f` - Список timers: `sudo systemctl list-timers` ### Расписание Файл `/etc/systemd/system/runner.timer`: - `OnCalendar=hourly` — каждый час - `OnCalendar=*-*-* *:00:00` — в начале каждого часа - `OnCalendar=*-*-* 0,6,12,18:00:00` — в 0, 6, 12, 18 часов - `OnCalendar=Mon..Fri 09:00:00` — будни в 9:00 После изменения: `sudo systemctl daemon-reload` --- ## Вариант 2: Cron ```bash sudo crontab -e ``` ```bash 0 * * * * /bin/bash /opt/testbot-git/runner.sh ``` Другие варианты: `30 * * * *`, `*/30 * * * *`, `0 9-17 * * *`. --- ## Состав runner.sh (ZILANT) `vk_load.py` → `zk_load.py` → `db_update_shortname.py` → `tg_publish.py` → `evtg_publish.py` Legacy `tools/legacy/evt_prefetch.py` в пайплайн не входит (с 1.0.0). Лог пайплайна: `/opt/testbot-git/logs/runner.log` (каталог `logs/` создаётся автоматически).