Backuper

一个用于Paper/Folia的简单备份插件,支持FTP/GOOGLE DRIVE/SFTP。

资源图片
# Backuper ## 简单 Paper/Folia 备份插件
支持 **FTP/GOOGLE DRIVE/SFTP** ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/DVDishka/Backuper/total?label=GitHub%20Downloads) ![Modrinth Downloads](https://img.shields.io/modrinth/dt/Backuper?label=Modrinth%20Downloads) ![Hangar Downloads](https://img.shields.io/hangar/dt/Backuper?label=Hangar%20Downloads) --- [![bStats Graph Data](https://bstats.org/signatures/bukkit/Backuper.svg)](https://bstats.org/plugin/bukkit/Backuper) ---
## 页面 * [](https://backuper-mc.com)[ Backuper](https://backuper-mc.com) * [](https://github.com/DVDishka/Backuper)[ GitHub](https://github.com/DVDishka/Backuper) * [](https://modrinth.com/plugin/backuper)[ Modrinth](https://modrinth.com/plugin/backuper) * [](https://hangar.papermc.io/Collagen/Backuper)[ Hangar](https://hangar.papermc.io/Collagen/Backuper) --- ## 版本号变更 ### Backuper-X.Y.Z(A) * **X** - 更改 **X** 号意味着有一些不兼容向后兼容的重大变更。在切换到此版本之前,您应该检查 `Incompatible version changes` 段落。 * **Y** - 更改 **Y** 号意味着版本包含有向后兼容的重大更改 * **Z** - 更改 **Z** 号意味着版本包含小的更改或改进,具有向后兼容性 * **A** - 更改 **A** 字母意味着版本包含错误修复或安全/稳定性改进。 通常这些是热修复 --- ## 不兼容版本变更 ### 1.x.x - 2.x.x * 完全改变的权限系统。 查看 `Permissions` 部分以了解更改 * 完全改变的命令命名。 查看 `Commands` 部分以了解更改 ### 2.x.x - 3.x.x * 更改了权限系统。 现在有不同的存储权限 * 使用 `/backuper backup` 命令时,您需要指定存储 (`/backuper backup `) --- ## 基本设置 #### 使用插件/Backuper/config.yml 配置插件 1. 自动备份默认启用。 要更改备份间隔,请更改 `backup.backupPeriod` 选项。 要禁用自动备份,请更改 `backup.autoBackup` 选项 2. 如果您想每天指定时间进行一次备份,请更改 `backup.backupTime` 选项 3. 如果要在自动备份后重启服务器,请使用 `backup.afterBackup` 选项 4. 要设置要存储的最大备份数量,请更改 `local.maxBackupsNumber`/`ftp.maxBackupsNumber`/`sftp.maxBackupsNumber`/`googleDrive.maxBackupsNumber` 5. 要设置要存储的最大备份权重,请更改 `local.maxBackupsWeight`/`ftp.maxBackupsWeight`/`sftp.maxBackupsWeight`/`googleDrive.maxBackupsWeight` **要设置 FTP/GOOGLE DRIVE/SFTP 存储,请查看下面的 `Configuration` 部分** **要配置插件,最好查看完整的 `Configuration` 部分,那里有很多有用的选项** --- ## Google Drive 设置 ![Website](https://img.shields.io/website?url=https%3A%2F%2Fbackuper-mc.com&up_message=online&down_message=offline&label=Google%20Drive%20Auth) 1. 启用 Google Drive 存储并在 **config.yml** 中自定义设置。(检查 `Configuration/GOOGLE DRIVE storage settings` 部分) 2. 使用 `/backuper account googleDrive link` 命令将您的 Google 帐户链接到 Backuper --- ## 配置 ### 备份设置 * `Auto backup` - **(true/false)** - 默认启用自动备份,每隔一定时间备份一次 **(当禁用时,备份将仅通过 `/backuper backup` 命令运行)** * `Backup File Name Format` - **(Date Time format)** - 设置备份文件名的格式 **(查看 java.time 文档)**。 必须包含日期和时间的 信息 * `Add directory to backup` - **(List of paths)** - 您想要备份的文件夹/文件的完整目录路径。 世界文件夹将自动备份,因此您不需要在这些文件夹中指定世界文件夹(例如,您可以指定“plugins”,“config”)。 您也可以使用“*”指定所有文件。 * `Exclude Directory From Backup` - **(List of paths)** - 您想要排除在备份之外的文件夹/文件的完整目录路径。 如果您想从 **folder1** 备份所有内容,但排除 **folder1/file1**,您可以将 **folder1** 指定在 `addDirectoryToBackup` 中,并将 **folder1/file1** 指定在 `excludeDirectoryFromBackup` 中。(`backupsFolder` 目录将自动排除以防止循环) * `Backup period` - **(>= 1 Minutes or -1)** - 服务器将在多长时间后进行自动备份 **(要更改此值,您需要将 `backupTime` 设置为 -1 并且 `autoBackup` 设置为 true)** * `backup time` - **(0 - 23 or -1)** - 每日固定备份时间。 自动备份将在每天的此时间进行。(`backupPeriod` 将自动设置为 24 小时)。 **-1 禁用时间固定** * `Delete broken backups` - **(true/false)** - 有时创建备份时可能会发生错误。 启用此选项时,此类备份将被删除 * `Skip duplicate backup` - **(true/false)** - 如果世界自从上次备份以来没有更改,则备份将跳过。即使世界没有更改,`AfterBackup` **仍然会执行** * `After backup` - **(NOTHING/STOP/RESTART)** - **自动** 备份后服务器将执行什么操作 * `Set worlds read only` - **(true/false)** - **(推荐 True)** backuper 将所有世界文件夹标记为**只读**,以防止可能导致备份崩溃的文件夹更改。 **True** 值可能会导致备份期间出现 **访问被拒绝** 错误 **(您应该忽略它)** ### 本地存储设置 * `Enabled` - **(true/false)** - 启用本地存储以通过 Backuper 使用它 * `Auto Backup` - **(true/false)** - 启用自动备份,备份将保存到指定的本地存储。 仅当 `local.enabled: true` 和 `backup.autoBackup: true` 时有效 * `Backups folder` - **(Path)** - 备份将存储的完整目录 * `Max backups number` - **(>= 1 or 0)** - 本地存储中保留的最大备份数量 **(0 - 无限制)** * `Max backup weight` - **(>= 1 or 0)** - 本地存储中存储的最大备份权重 **(MB)** **(0 - 无限制)** * `Zip archive` - **(true/false)** - 您是否想以 ZIP 档案的形式存储备份在本地存储中? * `Zip compression level` - **(0 - 9)** - 档案压缩级别。 更高的值可以减小文件大小,但也可以增加压缩和解压缩所需的时间 ### GOOGLE DRIVE 存储设置 * `Enabled` - **(true/false)** - 启用 GOOGLE DRIVE 存储以通过 Backuper 使用它 * `Auto Backup` - **(true/false)** - 启用自动备份,备份将保存到指定的本地存储。 仅当 `googleDrive.enabled: true` 和 `backup.autoBackup: true` 时有效 * `Backups folder ID` - **(ID)** - 备份将存储的 GOOGLE DRIVE 文件夹 ID * `Create Backuper Folder` - **(true/false)** - 您希望 Backuper 在指定的 `backupsFolderId` 目录中创建其自己的文件夹来存储备份吗 * `Max backups number` - **(>= 1 or 0)** - GOOGLE DRIVE 存储中保留的最大备份数量 **(0 - 无限制)** * `Max backup weight` - **(>= 1 or 0)** - GOOGLE DRIVE 存储中存储的最大备份权重 **(MB)** **(0 - 无限制)** * `ZIP archive` - **(true/false)** - 您是否想以 ZIP 档案的形式将备份存储在 GoogleDrive 上? * `ZIP compression level` - **(0 - 9)** - 档案压缩级别。 更高的值可以减小文件大小,但也可以增加压缩和解压缩所需的时间 #### 身份验证 * `Token Folder Path` - **(Path)** - 您希望存储 Google 身份验证令牌的目录 ### FTP 存储设置 * `Enabled` - **(true/false)** - 启用 FTP 存储以通过 Backuper 使用它 * `Auto Backup` - **(true/false)** - 启用自动备份,备份将保存到指定的 FTP 服务器。 仅当 `ftp.enabled: true` 和 `backup.autoBackup: true` 时有效 * `Backups folder` - **(Path)** - FTP 服务器备份将存储的目录 * `Path separator symbol` - **(Symbol)** - FTP 服务器上使用的路径分隔符符号。 例如 UNIX 系统的 `/` 和 windows 系统的 `\` * `Max backups number` - **(>= 1 or 0)** - FTP 服务器上保留的最大备份数量 **(0 - 无限制)** * `Max backup weight` - **(>= 1 or 0)** - FTP 服务器上存储的最大备份权重 **(MB)** **(0 - 无限制)** * `ZIP archive` - **(true/false)** - 您是否想以 ZIP 档案的形式将备份存储在 FTP 服务器上? * `ZIP compression level` - **(0 - 9)** - 档案压缩级别。 更高的值可以减小文件大小,但也可以增加压缩和解压缩所需的时间 #### 身份验证 * `Address` - **(Address)** - FTP 服务器地址 * `Port` - **(Port)** - FTP 服务器端口 * `Username` - **(Username)** - 用于身份验证的 FTP 服务器用户名 * `Password` - **(Password)** - 用于身份验证的 FTP 服务器密码 ### SFTP 存储设置 * `Enabled` - **(true/false)** - 启用 SFTP 存储以通过 Backuper 使用它 * `Auto Backup` - **(true/false)** - 启用自动备份,备份将保存到指定的 SFTP 服务器。 仅当 `sftp.enabled: true` 和 `backup.autoBackup: true` 时有效 * `Backups folder` - **(Path)** - SFTP 服务器备份将存储的目录 * `Path separator symbol` - **(Symbol)** - SFTP 服务器上使用的路径分隔符符号。 例如 UNIX 系统的 `/` 和 windows 系统的 `\` * `Max backups number` - **(>= 1 or 0)** - SFTP 服务器上保留的最大备份数量 **(0 - 无限制)** * `Max backup weight` - **(>= 1 or 0)** - SFTP 服务器上存储的最大备份权重 **(MB)** **(0 - 无限制)** * `ZIP archive` - **(true/false)** - 您是否想以 ZIP 档案的形式将备份存储在 SFTP 服务器上? * `ZIP compression level` - **(0 - 9)** - 档案压缩级别。 更高的值可以减小文件大小,但也可以增加压缩和解压缩所需的时间 #### 身份验证 * `Address` - **(Address)** - SFTP 服务器地址 * `Port` - **(Port)** - SFTP 服务器端口 * `Auth type` - **(password/key)** - SFTP 服务器身份验证类型 * `Username` - **(Username)** - 用于身份验证的 SFTP 服务器用户名 * `Password` - **(Password)** - 用于身份验证的 SFTP 服务器密码 * `Key file path` - **(Path)** - 如果 `authType: key`,则指向密钥文件的本地路径 * `Use known hosts file` - **(true/false)** - 您想指定本地 knownHostsFile 吗? * `Known hosts file path` - **(Path)** - 如果 `useKnownHostsFile: true`,则指向本地 knownHostsFile 的路径 ### 服务器设置 * `Alert time before restart` - **(> 0 or -1)** - 在服务器重启前 `alertTimeBeforeRestart` 秒向所有玩家发送通知。 -1 禁用通知 * `Alert only server restart` - **(true/false)** - 仅在服务器重启或备份后停止时发送通知 * `Alert backup message` - **(String)** - 备份警报消息。 (%d 是秒数的占位符) * `Alert backup restart message` - **(String)** - 备份和重启警报消息。 (%d 是秒数的占位符) * `Size cache file` - **(Path)** - 备份大小缓存文件路径 * `Check updates` - **(true/false)** - 检查 Backuper 的新版本以保持最新 * `Better logging` - **(true/false)** - 改进的日志记录(用于调试的统计信息和其他信息,您可能不需要它) --- ## 命令 #### `storage` 参数负责例如 **local**、**GOOGLE DRIVE**、**FTP**、**SFTP** 等存储。 要使用这些参数,必须启用相应的存储。 使用 `-` 作为多个存储于一个命令的连接符。 **(例如:`local`、`ftp-googleDrive`、`local-ftp-sftp`)** #### `service` 参数负责例如 **GOOGLE DRIVE** 等存储提供商的服务。 要使用这些参数,必须启用相应的存储 * `/backuper backup ` - 用于手动备份服务器的命令。 `stopRestartServer` 参数表示重启后服务器将执行什么操作。 `stopRestartServer` 参数可以采用 **STOP** 或 **RESTART** 形式,也可以**不带参数** * `/backuper backup ` - 带延迟手动备份服务器的命令 **(延迟以秒为单位 > 0)**。 `storage` 和 `stopRestartServer` 参数与上面的命令相同,并且也可以**不带参数** * `/backuper list ` - 用于查看备份列表的命令 **(单击备份以打开其菜单)** * `/backuper menu ` - 打开指定备份的菜单的命令 * `/backuper menu delete` - 删除指定备份的命令 * `/backuper menu toZIP` - **仅适用于 LOCAL 存储** - 将指定备份转换为 ZIP 档案的命令 * `/backuper menu unZIP` - **仅适用于 LOCAL 存储** - 将指定备份从 ZIP 档案转换为文件夹的命令 * `/backuper menu copyToFtp` - **仅适用于 LOCAL 存储** - 将指定备份复制到 **FTP** 存储的命令,从 **local** 存储复制 * `/backuper menu copyToSftp` - **仅适用于 LOCAL 存储** - 将指定备份复制到 **SFTP** 存储的命令,从 **local** 存储复制 * `/backuper menu copyToGoogleDrive` - **仅适用于 LOCAL 存储** - 将指定备份复制到 **GOOGLE DRIVE** 存储的命令,从 **local** 存储复制 * `/backuper menu copyToLocal` - **仅适用于 FTP/GOOGLE DRIVE/SFTP 存储** - 将指定备份复制到 **LOCAL** 存储的命令,从 **FTP/GOOGLE DRIVE/SFTP** 存储复制 * `/backuper account link` - 用于将 `service` 账户链接到 Backuper 以使用此存储提供商的命令 * `/backuper config reload` - 重新加载配置文件命令 * `/backuper task status` - 获取任务当前进度的命令 * `/backuper task cancel` - 取消当前任务的命令 --- ## 权限 ### 基本权限 * `backuper.backup` - 用于使用 `/backuper backup ` 命令,不带 `stopRestartServer` 参数的权限 * `backuper.backup.stop` - 用于使用 `/backuper backup ` 命令带 **STOP** 参数的权限 (`backuper.backup` 权限 required) * `backuper.backup.restart` - 用于使用 `/backuper backup ` 命令带 **RESTART** 参数的权限 (`backuper.backup` 权限 required) ### 本地存储权限 * `backuper.local.list` - 用于使用 `/backuper list local` 和 `/backuper menu local` 命令的权限 * `backuper.local.list.tozip` - 将本地存储中的备份转换为 ZIP 档案的权限 (`backuper.local.list` 权限 required) * `backuper.local.list.unzip` - 将本地存储中的备份从 ZIP 档案转换为文件夹的权限 (`backuper.local.list` 权限 required) * `backuper.local.list.delete` - 删除本地存储中的备份的权限 (`backuper.local.list` 权限 required) * `backuper.local.list.copytoftp` - 将备份从本地复制到 FTP 存储的权限 (`backuper.local.list` 权限 required) * `backuper.local.list.copytosftp` - 将备份从本地复制到 SFTP 存储的权限 (`backuper.local.list` 权限 required) ### GOOGLE DRIVE 存储权限 * `backuper.googledrive.account` - 用于管理已链接的 Google 帐户(使用 link 命令)的权限 * `backuper.googledrive.list` - 用于使用 `/backuper list googleDrive` 和 `/backuper menu googleDrive` 命令的权限 * `backuper.googledrive.list.delete` - 删除 GOOGLE DRIVE 存储中的备份的权限 (`backuper.googleDrive.list` 权限 required) * `backuper.googledrive.list.copytolocal` - 将备份从 GOOGLE DRIVE 复制到本地存储的权限 (`backuper.googleDrive.list` 权限 required) ### SFTP 存储权限 * `backuper.sftp.list` - 用于使用 `/backuper list sftp` 和 `/backuper menu sftp` 命令的权限 * `backuper.sftp.list.delete` - 删除 SFTP 存储中的备份的权限 (`backuper.sftp.list` 权限 required) * `backuper.sftp.list.copytolocal` - 将备份从 SFTP 复制到本地存储的权限 (`backuper.sftp.list` 权限 required) ### FTP 存储权限 * `backuper.ftp.list` - 用于使用 `/backuper list ftp` 和 `/backuper menu ftp` 命令的权限 * `backuper.ftp.list.delete` - 删除 FTP 存储中的备份的权限 (`backuper.ftp.list` 权限 required) * `backuper.ftp.list.copytolocal` - 将备份从 FTP 复制到本地存储的权限 (`backuper.ftp.list` 权限 required) ### 其他权限 * `backuper.config.reload` - 用于使用 `/backuper config reload` 命令的权限 (`backuper.config` 权限 required) * `backuper.status` - 用于使用 `/backuper status` 命令的权限 --- ## 注意事项 * **请在** [GitHub](https://github.com/DVDishka/Backuper/issues) **上报告任何问题** * RESTART 选项可能无法正常工作,因此最好使用带有启动脚本的 STOP ([start script](https://flags.sh/) 自动重启 ON) * 如果备份损坏并且您的 `backup.backupTime` 设置为 -1,则可以重置备份时间。 然后,下一次备份将在服务器启动时发生,之后每次备份都将在 `backup.backupPeriod` 后发生