41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
#!/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')] 旧备份清理完成"
|