logo
0
0
WeChat Login
增加备份数量设置

Minecraft Server Backup Tool

这是一个用于自动备份 Minecraft 服务器世界文件的 Python 脚本。该脚本会将世界文件压缩并上传到 Alist 服务器进行备份。

功能特点

  • 自动压缩 Minecraft 世界文件夹
  • 使用日期时间戳命名备份文件
  • 通过 Alist API 上传备份文件
  • 自动清理多余的备份文件(保留三个)
  • 支持环境变量配置
  • 与MCSManager集成,备份前自动停止服务器,备份后自动启动

依赖要求

  • Python 3.6+
  • requests
  • python-dotenv

安装步骤

  1. 安装 Python 3 和 pip:
sudo apt update sudo apt install python3 python3-pip
  1. 安装依赖库:
pip3 install requests python-dotenv
  1. 配置环境变量:
cp .env.example .env

然后编辑 .env 文件,填入你的实际配置信息。

  1. 添加执行权限:
chmod +x mc_backup.py

配置说明

在 .env 文件中配置以下参数:

# Alist服务器配置 ALIST_URL=http://127.0.0.1:5244 # Alist服务器地址 ALIST_USERNAME=admin # Alist用户名 ALIST_PASSWORD=your_password_here # Alist密码 # Minecraft服务器配置 MC_SERVER_PATH=/path/to/server # MC服务器路径 WORLD_FOLDER=world # 世界文件夹名称 # 备份目标路径 BACKUP_ORIGIN_PATH=/MC # Alist中的备份源路径 BACKUP_DEST_PATH=/path/in/alist # Alist中的备份目标路径 # MCSManager配置(可选) MCSMANAGER_URL=http://127.0.0.1:23333 # MCSManager守护进程地址 MCSMANAGER_API_KEY=your_api_key_here # MCSManager API密钥 INSTANCE_UUID=your_instance_uuid_here # 实例UUID DAEMON_ID=your_daemon_id_here # 守护进程ID # 备份保留配置 KEEP_LOCAL_BACKUPS=3 # 保留本地备份的数量 KEEP_CLOUD_BACKUPS=3 # 保留云端备份的数量

MCSManager集成说明

如果配置了MCSManager相关参数,脚本会在备份前自动停止Minecraft服务器,备份完成后自动重新启动服务器。这样可以确保备份时世界文件处于一致状态,避免数据损坏。

如何获取MCSManager API密钥和实例UUID

  1. 获取API密钥

    • 登录MCSManager管理面板
    • 进入"设置"页面
    • 在"API密钥"部分创建或查看现有密钥
  2. 获取实例UUID

    • 在MCSManager管理面板中,进入实例详情页面
    • 实例UUID通常显示在URL中或实例信息中
    • 格式类似:833af660be4f4638bcd2e521ffb62dbf

使用方法

直接运行脚本即可开始备份:

python3 mc_backup.py

自动化备份

要设置定期自动备份,可以使用 crontab。例如,每天凌晨 3 点进行备份:

# 编辑 crontab crontab -e # 添加以下行 0 3 * * * python3 /path/to/mc_backup.py

注意事项

  1. 确保脚本具有读取 Minecraft 服务器文件夹的权限
  2. 确保 Alist 服务器配置正确且可访问
  3. 建议在首次运行时测试配置是否正确
  4. .env 文件包含敏感信息,注意不要将其提交到代码仓库

错误排查

如果遇到问题,请检查:

  1. Python 和依赖库是否正确安装
  2. .env 文件中的配置是否正确
  3. Minecraft 服务器路径是否存在且有权限访问
  4. Alist 服务器是否可以连接
  5. 查看脚本输出的错误信息

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License