added:增加Linux-server
This commit is contained in:
1 parent
712116d21d
commit
bd96aadb2f
90 files changed
+16784
-1
No files matched your search
@@ -0,0 +1,105 @@
|
||||
#!/bin/bash
|
||||
# Write Server 备份脚本
|
||||
# 备份博客数据和配置
|
||||
|
||||
set -e
|
||||
|
||||
echo "==================================="
|
||||
echo " Write Server 备份脚本"
|
||||
echo "==================================="
|
||||
|
||||
# 配置
|
||||
BACKUP_DIR="./backups"
|
||||
DATE=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_NAME="write-server-${DATE}"
|
||||
BACKUP_FILE="${BACKUP_DIR}/${BACKUP_NAME}.tar.gz"
|
||||
|
||||
# 加载环境变量
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
fi
|
||||
|
||||
# 检查 BLOG_ROOT
|
||||
if [ -z "$BLOG_ROOT" ]; then
|
||||
echo "警告: BLOG_ROOT 未配置,将仅备份配置文件"
|
||||
BLOG_ROOT=""
|
||||
fi
|
||||
|
||||
# 创建备份目录
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
echo "开始备份..."
|
||||
echo "备份时间: $(date)"
|
||||
echo ""
|
||||
|
||||
# 创建临时目录
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
trap "rm -rf $TEMP_DIR" EXIT
|
||||
|
||||
# 备份配置文件
|
||||
echo "1. 备份配置文件..."
|
||||
cp .env "$TEMP_DIR/" 2>/dev/null || true
|
||||
cp package.json "$TEMP_DIR/"
|
||||
cp -r nginx "$TEMP_DIR/" 2>/dev/null || true
|
||||
|
||||
# 备份回收站
|
||||
echo "2. 备份回收站..."
|
||||
if [ -d "recycle" ]; then
|
||||
cp -r recycle "$TEMP_DIR/"
|
||||
fi
|
||||
|
||||
# 备份日志(最近 7 天)
|
||||
echo "3. 备份日志..."
|
||||
if [ -d "logs" ]; then
|
||||
mkdir -p "$TEMP_DIR/logs"
|
||||
find logs -name "*.log" -mtime -7 -exec cp {} "$TEMP_DIR/logs/" \; 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# 备份博客内容(如果配置了 BLOG_ROOT)
|
||||
if [ -n "$BLOG_ROOT" ] && [ -d "$BLOG_ROOT" ]; then
|
||||
echo "4. 备份博客内容..."
|
||||
mkdir -p "$TEMP_DIR/blog"
|
||||
|
||||
# 备份 content 目录
|
||||
if [ -d "$BLOG_ROOT/content" ]; then
|
||||
cp -r "$BLOG_ROOT/content" "$TEMP_DIR/blog/"
|
||||
fi
|
||||
|
||||
# 备份配置文件
|
||||
if [ -f "$BLOG_ROOT/hugo.toml" ]; then
|
||||
cp "$BLOG_ROOT/hugo.toml" "$TEMP_DIR/blog/"
|
||||
fi
|
||||
|
||||
# 备份主题配置
|
||||
if [ -d "$BLOG_ROOT/themes" ]; then
|
||||
cp -r "$BLOG_ROOT/themes" "$TEMP_DIR/blog/" 2>/dev/null || true
|
||||
fi
|
||||
else
|
||||
echo "4. 跳过博客内容备份(BLOG_ROOT 未配置)"
|
||||
fi
|
||||
|
||||
# 创建压缩包
|
||||
echo "5. 创建压缩包..."
|
||||
tar -czf "$BACKUP_FILE" -C "$TEMP_DIR" .
|
||||
|
||||
# 计算备份大小
|
||||
BACKUP_SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
|
||||
|
||||
echo ""
|
||||
echo "==================================="
|
||||
echo " 备份完成!"
|
||||
echo "==================================="
|
||||
echo ""
|
||||
echo "备份文件: $BACKUP_FILE"
|
||||
echo "备份大小: $BACKUP_SIZE"
|
||||
echo ""
|
||||
|
||||
# 清理旧备份(保留最近 30 天)
|
||||
echo "清理旧备份..."
|
||||
find "$BACKUP_DIR" -name "write-server-*.tar.gz" -mtime +30 -delete 2>/dev/null || true
|
||||
|
||||
# 显示最近的备份
|
||||
echo ""
|
||||
echo "最近的备份文件:"
|
||||
ls -lh "$BACKUP_DIR"/write-server-*.tar.gz 2>/dev/null | tail -5 || echo " 无"
|
||||
echo ""
|
||||
Reference in new issue
Block a user