#!/bin/bash # ============================================ # 备份脚本 # 备份 Nginx 配置和 SSL 证书 # ============================================ BACKUP_DIR="/opt/backups" DATE=$(date +%Y%m%d_%H%M%S) BACKUP_NAME="aliyun-manager_backup_$DATE" echo "==========================================" echo " 开始备份" echo "==========================================" mkdir -p "$BACKUP_DIR" # 备份配置 cd "$(dirname "$0")/.." tar czf "$BACKUP_DIR/${BACKUP_NAME}.tar.gz" \ nginx/nginx.conf \ nginx/conf.d/ \ nginx/ssl/ \ services/ \ docker-compose.yml \ .env \ 2>/dev/null || true # 保留最近 30 天的备份 cd "$BACKUP_DIR" ls -t *.tar.gz | tail -n +31 | xargs rm -f 2>/dev/null || true echo "备份完成: $BACKUP_DIR/${BACKUP_NAME}.tar.gz" echo "" echo "最近备份列表:" ls -lh "$BACKUP_DIR"/*.tar.gz 2>/dev/null | tail -5