Skip to content
Back to search

EasyBackuper

by MengHanLOVE1027

一个基于 LSE引擎 的轻量级、高性能、功能全面的Minecraft服务器热备份插件 / A lightweight, high-performance, and feature-rich hot backup plugin for Minecraft servers based on LSE.

0.4.8

README0.4.8

LSE-EasyBackuper

LSE-EasyBackuper

一个基于 LeviLamina 的轻量级、高性能、功能全面的Minecraft服务器热备份插件。

Powered by LeviLamina.

README README_EN

Github Version GitHub License LSE Version Platform Downloads


📖 简介

LSE-EasyBackuper 是一个专为 LeviLamina 服务器设计的备份插件,旨在简化备份过程,提高备份效率,并确保数据安全。它支持自动定时备份、智能清理、实时通知、多线程加速、多格式支持、备份恢复等功能,为服务器管理员提供全面的数据保护解决方案。


✨ 核心特性

特性描述
🔄自动定时备份基于cron表达式的智能定时备份
🧹智能清理自动清理旧备份,节省磁盘空间
📢实时通知备份前后向玩家发送通知
⚡多线程加速并行文件处理,大幅提升备份速度
🗜️多格式支持支持 7z、zip、tar.gz 多种压缩格式
🔄备份恢复一键恢复备份,支持自动重启
📝完整日志系统彩色日志输出,按日期分割存储

🗂️ 目录结构

服务器根目录/
├── logs/
│   └── EasyBackuper/                    # 日志目录
│       └── easybackuper_YYYYMMDD.log    # 主日志文件
├── plugins/
│   └── EasyBackuper/                    # 插件资源目录
│       ├── 7za.exe                      # 7z压缩工具
│       ├── EasyBackuper.js              # 插件主文件
│       └── config/
│           └── EasyBackuper.json        # 配置文件
└── backup/                              # 备份文件存储目录

🚀 快速开始

安装步骤

  1. 下载插件

  2. 安装插件

    # 将插件压缩包解压到服务器 plugins 目录
    

    或者使用 lip 命令安装:

    lip install github.com/MengHanLOVE1027/lse-easybackuper
    
  3. 安装依赖文件

    • 将 7za.exe、mhlove-truncate.exe 放入 plugins/lse-easybackuper/ 目录 (mhlove-truncate.exe 可从 Release页面 或者 MineBBS 下载的压缩包中获取)
  4. 启动服务器

    • 重启服务器或使用 /ll reload EasyBackuper 命令
    • 插件会自动生成默认配置文件

⚙️ 配置详解

配置文件位于:plugins/EasyBackuper/config/EasyBackuper.json

📋 主要配置项

{
  // 🗜️ 压缩配置
  "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"]
      }
    }
  },
  
  // 📁 可执行文件路径
  "exe_7z_path": ".\\plugins\\EasyBackuper\\7za.exe",  // 7z压缩工具路径
  "exe_mhlove_truncate_path": ".\\plugins\\EasyBackuper\\mhlove-truncate.exe",  // 截断工具路径

  // 📁 存储路径
  "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": {
    "backup_old_world_before_restore": true  // 恢复前备份当前世界
  },

  // 📊 数据统计
  "Bstats": {
    "EnableModule": true,  // 启用BStats数据统计
    "logSentData": false,  // 记录发送的数据
    "serverUUID": ""       // 服务器唯一标识符(自动生成)
  }
}

⏰ Cron表达式示例

表达式描述
*/30 * * * * *每30秒一次
0 0 3 ? * *每天凌晨3点
0 0 */2 ? * ?每2小时一次
0 0 0 ? * MON每周一零点

🎮 命令手册

备份管理命令

命令权限描述
/backupOP立即执行手动备份
/backup initOP重新初始化配置文件
/backup reloadOP重载配置文件

恢复管理命令

命令权限描述
/restore list <数量>OP显示所有可用备份 (可指定数量)
/restore <索引>OP恢复指定备份
/restoreOP显示恢复帮助

🔧 高级功能

🗜️ 7z压缩配置

  1. 下载7za.exe

    # 从 7-Zip官网 下载7za.exe
    # 放置在 plugins/EasyBackuper/ 目录
    
  2. 修改配置

    {
      "Compression": {
        "method": "7z",
        "exe_7z_path": "./plugins/EasyBackuper/7za.exe"
      }
    }
    
  3. 重载配置

    /backup reload
    

🚀 多线程优化建议

服务器类型推荐线程数说明
小型服务器 (1-2核)2-4避免占用过多CPU
中型服务器 (4核)4-6平衡性能与资源
大型服务器 (8+核)6-8最大化备份速度

⚠️ 注意:线程数过高可能导致服务器卡顿,请根据实际情况调整。


🛠️ 故障排除

常见问题

❓ 自动备份未执行

检查步骤:

  1. 确认定时任务状态已启用
    "Scheduled_Tasks": {
      "Status": true,
      ...
    }
    
  2. 检查cron表达式格式
  3. 查看日志文件
    cat logs/EasyBackuper/easybackuper_*.log
    

📊 日志文件说明

日志文件位置用途
主日志logs/EasyBackuper/easybackuper_YYYYMMDD.log记录备份、清理等常规操作

📄 许可证

本项目采用 AGPL-3.0 许可证开源。

版权所有 (c) 2023 梦涵LOVE

本程序是自由软件:您可以自由地重新发布和修改它,
但必须遵循AGPL-3.0许可证的条款。

完整许可证文本请参阅 LICENSE 文件。


👥 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 项目仓库
  2. 创建功能分支
    git checkout -b feature/AmazingFeature
    
  3. 提交更改
    git commit -m 'Add some AmazingFeature'
    
  4. 推送分支
    git push origin feature/AmazingFeature
    
  5. 创建 Pull Request

🌟 支持与反馈


⭐ 如果这个项目对你有帮助,请给我们一个 Star!

Star History

Star History Chart

Install EasyBackuper

Run this in your server or client folder with lip:

lip install github.com/MengHanLOVE1027/lse-easybackuper@0.4.8
Download from GitHub