# Установка и запуск Kronos advisor как systemd-timer ## Установка (на сервере) ```bash # 1) Копируем unit-файлы sudo cp kronos-advisor.service /etc/systemd/system/ sudo cp kronos-advisor.timer /etc/systemd/system/ # 2) Активируем sudo systemctl daemon-reload sudo systemctl enable kronos-advisor.timer sudo systemctl start kronos-advisor.timer # 3) Проверяем systemctl list-timers kronos-advisor.timer systemctl status kronos-advisor.timer ``` ## Логи ```bash journalctl -u kronos-advisor.service -f tail -f kronos-advisor.log ``` ## Тестовый запуск вручную ```bash cd /root/grid-bot source kronos-venv/bin/activate python kronos_advisor_main.py --live cat kronos_advice.json ``` ## Изменение расписания `kronos-advisor.timer`, поле `OnCalendar`: - `*:0/15` — каждые 15 мин (по умолчанию) - `*:0/5` — каждые 5 мин - `*:0/30` — каждые 30 мин - `hourly` — раз в час - `daily` — раз в сутки После правки: ```bash sudo systemctl daemon-reload sudo systemctl restart kronos-advisor.timer ``` ## Безопасность - `--live` подтягивает TRADENET_PRIVATE_KEY из .env → **не запускай advisor в live-режиме с пустыми/скомпрометированными ключами**. - Советник НИКОГДА не выставляет ордера — только пишет kronos_advice.json. - Решение о применении совета — за `main.py`, под флагом `KRONOS_LIVE_ENABLED`. - Если `KRONOS_ENABLED=false` в .env, советник ничего не делает (читается в `read_kronos_advice`). ## Что откуда берётся ``` grid-bot/ ├── kronos-venv/ # python venv (создаётся setup-скриптом) ├── kronos_advisor_main.py # CLI, запускается из systemd ├── kronos_advice.json # выход, читается main.py ├── kronos-advisor.service # этот файл ├── kronos-advisor.timer # и этот └── .env # TRADENET_* + KRONOS_ENABLED ``` ## Удаление ```bash sudo systemctl stop kronos-advisor.timer sudo systemctl disable kronos-advisor.timer sudo rm /etc/systemd/system/kronos-advisor.{service,timer} sudo systemctl daemon-reload ```