这是一个用于自动备份 Minecraft 服务器世界文件的 Python 脚本。该脚本会将世界文件压缩并上传到 Alist 服务器进行备份。
sudo apt update sudo apt install python3 python3-pip
pip3 install requests python-dotenv
cp .env.example .env
然后编辑 .env 文件,填入你的实际配置信息。
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相关参数,脚本会在备份前自动停止Minecraft服务器,备份完成后自动重新启动服务器。这样可以确保备份时世界文件处于一致状态,避免数据损坏。
获取API密钥:
获取实例UUID:
833af660be4f4638bcd2e521ffb62dbf直接运行脚本即可开始备份:
python3 mc_backup.py
要设置定期自动备份,可以使用 crontab。例如,每天凌晨 3 点进行备份:
# 编辑 crontab
crontab -e
# 添加以下行
0 3 * * * python3 /path/to/mc_backup.py
如果遇到问题,请检查:
欢迎提交 Issue 和 Pull Request!
MIT License