# Cron 备份配置示例 # 使用方法: crontab -e 并添加以下行 # 环境变量设置 SHELL=/bin/bash PATH=/usr/local/bin:/usr/bin:/bin BACKUP_DIR=/opt/user-management/backups DB_PATH=/opt/user-management/data/user_management.db CONFIG_PATH=/opt/user-management/configs/config.yaml RETENTION_DAYS=30 # ============================================ # 备份任务 # ============================================ # 每天凌晨 2:00 执行备份 0 2 * * * /opt/user-management/scripts/backup/backup.sh >> /var/log/backup.log 2>&1 # 每周日凌晨 3:00 执行完整备份(包含上传到远程存储) 0 3 * * 0 /opt/user-management/scripts/backup/backup.sh && \ scp /opt/user-management/backups/latest.tar.gz backup@remote-server:/backups/ # 每天下午 6:00 检查备份状态并发送报告 0 18 * * * /opt/user-management/scripts/backup/backup.sh --verify || \ echo "Backup verification failed" | mail -s "Backup Alert" admin@example.com # ============================================ # 清理任务 # ============================================ # 每月 1 日凌晨 4:00 清理超过 90 天的备份 0 4 1 * * find /opt/user-management/backups -name "*.tar.gz" -mtime +90 -delete # ============================================ # 监控任务 # ============================================ # 每 15 分钟检查服务健康状态 */15 * * * * curl -sf http://localhost:8080/api/v1/health || \ echo "Service down at $(date)" | mail -s "Service Alert" admin@example.com # ============================================ # 日志轮转配置 (/etc/logrotate.d/user-management) # ============================================ /var/log/backup.log { daily rotate 7 compress delaycompress missingok notifempty create 644 root root }