""" Backup Monitor Job - Restic Backup Checks (Lightweight) Runs every hour to check Restic backup status. Uses lightweight file system check (no restic command). Saves results to database. """ def run(context): """Execute backup monitoring check.""" from modules.fleet.backup_monitor import BackupMonitor from core.database import DatabaseManager import json db = DatabaseManager() backup_monitor = BackupMonitor() # Check backup only (lightweight file check) backup = backup_monitor.check() db.save_fleet_status( check_type='backup', status=backup.get('status', 'unknown'), data=json.dumps({ 'snapshot_count': backup.get('snapshot_count', 0), 'last_snapshot_date': backup.get('last_snapshot_date', 'never'), 'last_snapshot_age_hours': backup.get('last_snapshot_age_hours', 0) }), message=backup.get('message', 'No data') ) return { "status": "success", "backup_status": backup.get('status'), "snapshots": backup.get('snapshot_count', 0), "age_hours": backup.get('last_snapshot_age_hours', 0) } if __name__ == '__main__': # Execute when run as a module import json result = run({}) print(json.dumps(result, indent=2))