Files
lehuo/scripts/db-backup.sh
T
climber 41a0a85141 security: 执行平台安全加固
【已完成】
- 关闭FRP SSH隧道 (消除公网暴露风险)
- 移除MySQL/Redis端口映射 (仅内网访问)
- 启用UFW防火墙 (deny all + allow 80/443)
- 关闭临时Python HTTP服务 (端口8888)
- 配置定期备份脚本 (每日2点执行)
- 更新监控告警规则 (新增登录异常检测)

【待手动完成 - 需sudo】
- 启用FRP TLS加密 (修改/opt/frp/frpc.ini)
- 延长日志留存180天 (修改/opt/frp/frpc.ini)
2026-10-26 12:11:55 +08:00

23 lines
805 B
Bash
Executable File

#!/bin/bash
set -e
BACKUP_DIR="/home/climber/backups/lehuo"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# 使用lehuo用户备份(不需要密码)
docker exec lehuo-local-mysql-1 mysqldump -ulehuo -pchange-me-local-only lehuo > "$BACKUP_DIR/lehuo_$DATE.sql" 2>/dev/null
gzip "$BACKUP_DIR/lehuo_$DATE.sql"
echo "[$DATE] 数据库备份完成: lehuo_$DATE.sql.gz ($(du -sh $BACKUP_DIR/lehuo_$DATE.sql.gz | cut -f1))"
# 清理30天前的备份
find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete
# 备份SSL密钥
if [ -d /home/climber/lehuo/ssl ]; then
tar czf "$BACKUP_DIR/ssl_keys_$DATE.tar.gz" -C /home/climber/lehuo ssl/ 2>/dev/null || true
find $BACKUP_DIR -name "ssl_keys_*.tar.gz" -mtime +30 -delete
echo "[$DATE] SSL密钥备份完成"
fi
echo "[$DATE] 备份任务完成"