Add quiet hours, health checks, and logging
This commit is contained in:
@@ -4,7 +4,7 @@ import os
|
||||
from datetime import datetime
|
||||
from aiogram import F
|
||||
from aiogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton, CallbackQuery
|
||||
from app import dp
|
||||
from app import dp, cfg
|
||||
from auth import is_admin_msg, is_admin_cb
|
||||
from keyboards import backup_kb
|
||||
from lock_utils import acquire_lock, release_lock
|
||||
@@ -200,6 +200,9 @@ async def cmd_backup_status(msg: Message):
|
||||
|
||||
async def cmd_backup_now(msg: Message):
|
||||
async def job():
|
||||
if cfg.get("safety", {}).get("dry_run", False):
|
||||
await msg.answer("🧪 Dry-run: backup skipped", reply_markup=backup_kb)
|
||||
return
|
||||
if not acquire_lock("backup"):
|
||||
await msg.answer("⚠️ Backup уже выполняется", reply_markup=backup_kb)
|
||||
return
|
||||
|
||||
@@ -438,6 +438,9 @@ async def upgrade_confirm(cb: CallbackQuery):
|
||||
await cb.answer()
|
||||
|
||||
async def job():
|
||||
if cfg.get("safety", {}).get("dry_run", False):
|
||||
await cb.message.answer("🧪 Dry-run: upgrade skipped", reply_markup=system_ops_kb)
|
||||
return
|
||||
text = await apply_updates()
|
||||
await cb.message.answer(text, reply_markup=system_ops_kb, parse_mode="Markdown")
|
||||
|
||||
@@ -506,6 +509,9 @@ async def reboot_password(msg: Message):
|
||||
return
|
||||
|
||||
async def job():
|
||||
if cfg.get("safety", {}).get("dry_run", False):
|
||||
await msg.answer("🧪 Dry-run: reboot skipped", reply_markup=system_ops_kb)
|
||||
return
|
||||
await msg.answer("🔄 Rebooting…", reply_markup=system_ops_kb)
|
||||
await run_cmd(["sudo", "reboot"], timeout=10)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user