# Minecraft Fabric 服务器自动备份方案(Linux + screen)
适用环境:
- Linux 服务器
- Minecraft Fabric 服务端
- 使用 `screen` 运行服务器
- 定时自动备份
- 保留最近 3 天存档
- 服务器运行时安全备份(热备份)
---
# 一、服务器目录结构(推荐)mc-server
├── backup.sh
├── backups
├── world
├── mods
├── config
├── logs
├── fabric-server-mc.1.21.1-loader.jar
创建备份目录:
```bash
mkdir ~/mc-server/backups二、确认 screen 会话名称
服务器通常通过 screen 运行,例如:
screen -ls可能显示:
xxx.mc (Detached)这里 mc 就是 screen 会话名。
脚本中需要填写:
SCREEN_NAME="mc"如果显示的是 minecraft 或其他名字,需要对应修改。
三、创建备份脚本
创建脚本:
nano ~/mc-server/backup.sh写入以下内容:
#!/bin/bash
# ==========================
# Minecraft Server Backup
# ==========================
SERVER_DIR="/home/ephanye/mc-server"
BACKUP_DIR="$SERVER_DIR/backups"
SCREEN_NAME="mc"
RETENTION_DAYS=3
DATE=$(date +"%Y-%m-%d_%H-%M")
BACKUP_FILE="$BACKUP_DIR/mc_backup_$DATE.tar.gz"
echo "========== Minecraft Backup =========="
echo "Start Time: $(date)"
cd $SERVER_DIR
# 通知服务器
screen -S $SCREEN_NAME -X stuff "say §a[Server] Starting backup...$(printf '\r')"
# 强制保存
screen -S $SCREEN_NAME -X stuff "save-all$(printf '\r')"
sleep 10
# 关闭自动保存
screen -S $SCREEN_NAME -X stuff "save-off$(printf '\r')"
sleep 5
mkdir -p $BACKUP_DIR
# 压缩备份(降低IO优先级)
ionice -c2 -n7 tar -czf $BACKUP_FILE \
world \
mods \
config \
server.properties \
ops.json \
whitelist.json \
banned-ips.json \
banned-players.json \
usercache.json
echo "Backup created: $BACKUP_FILE"
# 恢复自动保存
screen -S $SCREEN_NAME -X stuff "save-on$(printf '\r')"
# 通知完成
screen -S $SCREEN_NAME -X stuff "say §a[Server] Backup finished!$(printf '\r')"
# 删除旧备份
find $BACKUP_DIR -type f -mtime +$RETENTION_DAYS -name "*.tar.gz" -delete
echo "Backup completed: $(date)"
echo "======================================"四、赋予脚本执行权限
chmod +x ~/mc-server/backup.sh五、手动测试备份
建议先手动运行一次:
cd ~/mc-server
./backup.sh如果成功:
服务器聊天会显示:
[Server] Starting backup...
[Server] Backup finished!并且目录中出现:
backups/mc_backup_2026-03-10_04-00.tar.gz六、设置定时自动备份
编辑 cron 任务:
crontab -e添加:
0 4 * * * /home/ephanye/mc-server/backup.sh >> /home/ephanye/mc-server/backups/backup.log 2>&1含义:
每天凌晨 04:00 自动备份
并记录日志七、备份文件结构
backups
├── mc_backup_2026-03-10_04-00.tar.gz
├── mc_backup_2026-03-11_04-00.tar.gz
├── mc_backup_2026-03-12_04-00.tar.gz
└── backup.log系统会自动:
保留最近 3 天
自动删除更早备份
八、恢复服务器存档
恢复步骤:
停止服务器
解压备份
tar -xzf mc_backup_2026-03-10_04-00.tar.gz覆盖服务器目录
启动服务器
九、手动备份快捷命令(推荐)
可以添加一个 alias:
nano ~/.bashrc加入:
alias mcbackup="cd ~/mc-server && ./backup.sh"刷新配置:
source ~/.bashrc以后只需输入:
mcbackup即可立即备份。
十、方案特点
优点:
支持 服务器运行时备份
防止 存档损坏
自动 压缩
自动 删除旧备份
自动 服务器通知
IO 优先级降低,不影响游戏
适合:
小型私人服务器
Fabric / Forge 服务器
Linux VPS / 家用服务器