37 lines
879 B
Bash
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
|