EasyBackuper 是一个专为 Endstone 服务器设计的备份插件,旨在简化备份过程,提高备份效率,并确保数据安全。它支持自动定时备份、智能清理、实时通知、多线程加速、多格式支持、备份恢复和多语言等功能,为服务器管理员提供全面的数据保护解决方案。
| 特性 | 描述 |
|---|---|
| 🔄自动定时备份 | 基于cron表达式的智能定时备份 |
| 🧹智能清理 | 自动清理旧备份,节省磁盘空间 |
| 📢实时通知 | 备份前后向玩家发送通知 |
| ⚡多线程加速 | 并行文件处理,大幅提升备份速度 |
| 🗜️多格式支持 | 支持 7z、zip、tar.gz 多种压缩格式 |
| 🔄备份恢复 | 一键恢复备份,支持自动重启 |
| 🌍多语言界面 | 支持中文、英文等多语言显示 |
| 📝完整日志系统 | 彩色日志输出,按日期分割存储 |
服务器根目录/
├── logs/
│ └── EasyBackuper/ # 日志目录
│ ├── easybackuper_YYYYMMDD.log # 主日志文件
│ └── easybackuper_restore_YYYYMMDD.log # 恢复日志
├── plugins/
│ ├── endstone_easybackuper-x.x.x-py3-none-any.whl # 插件主文件
│ └── EasyBackuper/ # 插件资源目录
│ ├── 7za.exe # 7z压缩工具
│ ├── restore_handler.exe # 备份恢复处理器
│ ├── config/
│ │ └── EasyBackuper.json # 配置文件
│ └── langs/ # 多语言文件
│ ├── zh_CN.json # 简体中文
│ └── en_US.json # 英文
└── backup/ # 备份文件存储目录
-
下载插件
-
安装插件
# 将插件主文件复制到服务器 plugins 目录 cp endstone_easybackuper-x.x.x-py3-none-any.whl plugins/ -
安装依赖文件
- 将
7za.exe、restore_handler.exe放入plugins/EasyBackuper/目录 (restore_handler.exe 可从 Release页面 下载 或者 手动编译)
- 将
-
启动服务器
- 重启服务器或使用
/reload命令 - 插件会自动生成默认配置文件
- 重启服务器或使用
配置文件位于:plugins/EasyBackuper/config/EasyBackuper.json
{
// 🌐 国际化设置
"Language": "zh_CN", // 可选: zh_CN, en_US
// 🗜️ 压缩配置
"Compression": {
"method": "zip", // 压缩算法: 7z, zip, tar
"exe_7z_path": "./plugins/EasyBackuper/7za.exe", // 7z可执行文件路径
"formats": {
"7z": {
"extension": ".7z",
"compress_args": ["a", "-t7z", "-mx=5"],
"extract_args": ["x", "-y"]
},
"zip": {
"extension": ".zip",
"compress_args": ["a", "-tzip", "-mx=5"],
"extract_args": ["x", "-y"]
},
"tar": {
"extension": ".tar.gz",
"compress_args": ["a", "-ttar", "-mx=5"],
"extract_args": ["x", "-y"]
}
}
},
// 📁 存储路径
"BackupFolderPath": "./backup", // 备份文件保存路径
// ⚡ 性能配置
"Max_Workers": 4, // 并发线程数
// 🧹 自动清理
"Auto_Clean": {
"Use_Number_Detection": {
"Status": false, // 启用自动清理
"Max_Number": 5, // 最大保留备份数量
"Mode": 0 // 0=开服后清理, 1=备份后清理, 2=开服时清理
}
},
// ⏰ 定时任务
"Scheduled_Tasks": {
"Status": false, // 启用定时备份
"Cron": "*/30 * * * * *" // Cron表达式,每30秒
},
// 📢 通知设置
"Broadcast": {
"Status": true, // 启用广播通知
"Time_ms": 5000, // 备份前通知时间(毫秒)
"Title": "[OP]要开始备份啦~",
"Message": "将于 5秒 后进行备份!",
"Server_Title": "[Server]Never Gonna Give You UP~",
"Server_Message": "Never Gonna Let You Down~",
"Backup_success_Title": "备份完成!",
"Backup_success_Message": "星级服务,让爱连接",
"Backup_wrong_Title": "很好的邢级服务,使我备份失败",
"Backup_wrong_Message": "RT"
},
// 🔍 调试设置
"Debug_MoreLogs": false, // 启用详细日志(控制台)
"Debug_MoreLogs_Player": false, // 启用详细日志(玩家)
"Debug_MoreLogs_Cron": false, // 启用详细日志(Cron任务)
// 🔄 恢复配置
"Restore": {
"exe_path": "./plugins/EasyBackuper/restore_handler.exe", // 恢复处理器路径
"config": {
"backup_old_world_before_restore": true, // 恢复前备份当前世界
"restart_server": {
"status": false, // 恢复后自动重启
"wait_time_s": 3, // 重启等待时间(秒)
"start_script_path": "./start.bat" // 启动脚本路径
},
"debug": false // 启用恢复调试日志
}
}
}| 表达式 | 描述 |
|---|---|
*/30 * * * * * |
每30秒一次 |
0 0 3 ? * * |
每天凌晨3点 |
0 0 */2 ? * ? |
每2小时一次 |
0 0 0 ? * MON |
每周一零点 |
| 命令 | 权限 | 描述 |
|---|---|---|
/backup |
OP | 立即执行手动备份 |
/backup init |
OP | 重新初始化配置文件 |
/backup reload |
OP | 重载配置文件 |
/backup start |
OP | 启动自动备份服务 |
/backup stop |
OP | 停止自动备份服务 |
/backup status |
OP | 查看备份状态 |
/backup clean |
OP | 手动清理旧备份 |
| 命令 | 权限 | 描述 |
|---|---|---|
/restore list <数量> |
OP | 显示所有可用备份 (可指定数量) |
/restore <索引> |
OP | 恢复指定备份 |
/restore |
OP | 显示恢复帮助 |
-
下载7za.exe
# 从 7-Zip官网 下载7za.exe # 放置在 plugins/EasyBackuper/ 目录
-
修改配置
{ "Compression": { "method": "7z", "exe_7z_path": "./plugins/EasyBackuper/7za.exe" } } -
重载配置
/backup reload
恢复处理器 (restore_handler.exe) 用于安全地恢复备份文件:
-
工作原理
- 检测并等待正在运行的
bedrock_server进程关闭 - 备份当前世界文件(可选)
- 解压备份文件到服务器目录
- 自动重启服务器(可选)
- 检测并等待正在运行的
-
位置
plugins/EasyBackuper/restore_handler.exe
| 服务器类型 | 推荐线程数 | 说明 |
|---|---|---|
| 小型服务器 (1-2核) | 2-4 | 避免占用过多CPU |
| 中型服务器 (4核) | 4-6 | 平衡性能与资源 |
| 大型服务器 (8+核) | 6-8 | 最大化备份速度 |
⚠️ 注意:线程数过高可能导致服务器卡顿,请根据实际情况调整。
❓ 自动备份未执行
检查步骤:
- 确认定时任务状态
/backup status
- 检查cron表达式格式
- 查看日志文件
cat logs/EasyBackuper/easybackuper_*.log
❓ 恢复功能无法使用
排查方法:
- 确认
restore_handler.exe存在ls plugins/EasyBackuper/restore_handler.exe
- 检查恢复处理器权限
chmod +x plugins/EasyBackuper/restore_handler.exe
- 查看恢复日志
cat logs/EasyBackuper/easybackuper_restore_*.log
| 日志文件 | 位置 | 用途 |
|---|---|---|
| 主日志 | logs/EasyBackuper/easybackuper_YYYYMMDD.log |
记录备份、清理等常规操作 |
| 恢复日志 | logs/EasyBackuper/easybackiper_restore_YYYYMMDD.log |
记录备份恢复过程的详细操作 |
本项目采用 AGPL-3.0 许可证开源。
版权所有 (c) 2023 梦涵LOVE
本程序是自由软件:您可以自由地重新发布和修改它,
但必须遵循AGPL-3.0许可证的条款。
完整许可证文本请参阅 LICENSE 文件。
欢迎提交 Issue 和 Pull Request!
- Fork 项目仓库
- 创建功能分支
git checkout -b feature/AmazingFeature
- 提交更改
git commit -m 'Add some AmazingFeature' - 推送分支
git push origin feature/AmazingFeature
- 创建 Pull Request
