23 lines
805 B
Bash
23 lines
805 B
Bash
#!/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] 备份任务完成"
|