feat: automate production maintenance
This commit is contained in:
@@ -109,6 +109,18 @@ docker compose --env-file .env.production -f compose.production.yaml exec -T api
|
||||
|
||||
Сроки и состав данных описаны в [`docs/data-retention.md`](../docs/data-retention.md). Автоматизацию включайте только после проверки dry-run на рабочем наборе.
|
||||
|
||||
После ручной проверки установите ежедневный timer. `maintenance.sh` использует lock от параллельного запуска и применяет retention только после успешного backup:
|
||||
|
||||
```bash
|
||||
sudo cp deploy/systemd/rf4spotter-maintenance.service /etc/systemd/system/
|
||||
sudo cp deploy/systemd/rf4spotter-maintenance.timer /etc/systemd/system/
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now rf4spotter-maintenance.timer
|
||||
systemctl list-timers rf4spotter-maintenance.timer
|
||||
```
|
||||
|
||||
Шаблон рассчитан на пользователя `rf4spotter`, каталог `/opt/rf4-spotter` и наличие `flock` из `util-linux`. Пользователь должен иметь доступ к Docker socket и каталогу `BACKUP_ROOT`. Результат каждого запуска хранится в systemd journal. Docker JSON-логи production-сервисов ограничены пятью файлами по 10 МБ на контейнер.
|
||||
|
||||
## 8. Мониторинг
|
||||
|
||||
После настройки DNS, TLS и первого backup выполните:
|
||||
|
||||
Reference in New Issue
Block a user