Files

37 lines
879 B
Bash

#!/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