Files
accountbook/backup.sh
T
DeveloperandClaude Opus 4.6 3347a256b2 Initial commit: accountbook project
- Node.js backend server
- Frontend application
- Backup script
- Project specification

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:24:10 +08:00

46 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# 记账本定时备份脚本
# 备份目录: /opt/backup/data/YYYYMMDD/accountbook
# 配置
SOURCE_DIR="/opt/accountbook"
BACKUP_ROOT="/opt/backup/data"
DATE=$(date +%Y%m%d)
BACKUP_DIR="${BACKUP_ROOT}/${DATE}/accountbook"
# 创建备份目录
mkdir -p "${BACKUP_DIR}"
# 备份数据库文件
if [ -f "${SOURCE_DIR}/accountbook.db" ]; then
cp "${SOURCE_DIR}/accountbook.db" "${BACKUP_DIR}/accountbook.db"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 数据库已备份: ${BACKUP_DIR}/accountbook.db"
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 警告: 数据库文件不存在"
fi
# 备份源代码 (可选 - 根据需求可注释掉)
if [ -d "${SOURCE_DIR}/public" ]; then
cp -r "${SOURCE_DIR}/public" "${BACKUP_DIR}/"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] public 目录已备份"
fi
# 备份前端代码
if [ -d "${SOURCE_DIR}/frontend" ]; then
cp -r "${SOURCE_DIR}/frontend" "${BACKUP_DIR}/"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] frontend 目录已备份"
fi
# 备份配置文件
if [ -f "${SOURCE_DIR}/package.json" ]; then
cp "${SOURCE_DIR}/package.json" "${BACKUP_DIR}/"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] package.json 已备份"
fi
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 备份完成: ${BACKUP_DIR}"
# 清理30天前的旧备份
find "${BACKUP_ROOT}" -type d -name "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" -mtime +30 -exec rm -rf {} \; 2>/dev/null
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 30天前的旧备份已清理"