Files
gamer/backup.sh
T
2026-03-12 11:23:10 +08:00

41 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# 数据备份脚本
# 备份 /opt/gamer 的数据到 /opt/backup/data/YYYYMMDD/gamer
# 设置变量
SOURCE_DIR="/opt/gamer"
BACKUP_ROOT="/opt/backup/data"
DATE=$(date +%Y%m%d)
BACKUP_DIR="${BACKUP_ROOT}/${DATE}/gamer"
# 创建备份目录
mkdir -p "${BACKUP_DIR}"
# 备份数据库
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 开始备份数据库..."
cp "${SOURCE_DIR}/data.db" "${BACKUP_DIR}/data.db"
if [ $? -eq 0 ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 数据库备份完成"
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 数据库备份失败"
exit 1
fi
# 备份 public 目录
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 开始备份 public 目录..."
cp -r "${SOURCE_DIR}/public" "${BACKUP_DIR}/public"
if [ $? -eq 0 ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] public 目录备份完成"
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] public 目录备份失败"
exit 1
fi
# 记录备份日志
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 备份完成: ${BACKUP_DIR}"
# 清理7天前的旧备份(可选)
find "${BACKUP_ROOT}" -type d -name "20*" -mtime +7 -exec rm -rf {} \; 2>/dev/null
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 旧备份清理完成"