本帖最后由 Cnzw 于 2024-5-24 00:48 编辑
插件简介
丢过服务器存档吗?
是服务商跑路?
还是某个神奇的方块炸存档?
也许是硬盘冒烟了?
DriveBackupV2 是一个插件,旨在通过远程备份为您的数据提供额外的保护。
- 如果备份超过指定数量,则自动删除本地和远程备份。
- 按设定的时间间隔或自定义计划进行备份。
- 它支持备份:
- 它支持备份到:
安装要求
- Bukkit/Spigot/Paper 或其分支:1.8 - 1.20.X
- Java:8 或更高版本
- 无前置插件
如何使用
将本插件文件复制到服务器的 plugins 文件夹后重启服务器即完成了安装。
默认情况下,每小时自动备份一次。
快速设置
本插件因支持多种备份方式,所以配置略复杂,初次接触可能一脸懵。
以下是一个 每天 4:30 备份所有世界文件夹到 plugins/DriveBackupV2/backup 文件夹 的 部分配置:scheduled-backups: true # 启用基于计划的备份
backup-schedule-list:
- days:
- "everyday" # 每天
time: "04:30" # 4:30
backup-list:
- glob: "world*" # 所有以 world 开头的文件夹
format: "Backup-%NAME-%FORMAT.zip"
create: true
backups-require-players: false # 关闭玩家检测
local-save-directory: plugins/DriveBackupV2/backup # 备份存储文件夹
keep-count: -1 # 不限制备份数量
local-keep-count: -1 # 不限制本地备份数量
advanced:
date-timezone: "+08:00"
只需要逐个在 plugins/DriveBackupV2/config.yml 中配置即可。
1. 配置自动备份
原文档
DriveBackupV2 支持两种类型的自动备份:基于时间间隔的备份 和 基于计划的备份。
1.1 基于时间间隔的备份
按一定时间间隔运行,并且默认情况下启用。
delay: 60
运行备份的频率(间隔),单位是分钟。
如果启用了基于计划的自动备份,则将忽略此设置。
将其设置为 -1 可禁用时间间隔自动备份。
1.2 基于计划的备份
基于服务器的时间,在指定的时间点就会自动备份一次。
scheduled-backups: false
是否启用基于计划的备份。启用基于计划的备份将禁用基于间隔的备份。
backup-schedule-list
运行备份的日期/时间列表。
配置完大概长这样:backup-schedule-list:
- days:
- "sunday"
- "wednesday"
time: "05:00"
- days:
- "everyday"
time: "23:30"
参数 days 可用 monday tuesday wednesday thursday friday saturday sunday weekdays weekends everyday (具体是哪天就是其英文本身的含义)
参数 time 不解释。
2. 指定备份内容
原文档
默认情况下,DriveBackupV2 会备份插件文件夹(plugins)和世界(world*)文件夹。但是可以指定备份任何文件/文件夹,无论其在服务器内的文件还是在外部文件夹。
默认配置:backup-list:
- glob: "world*"
format: "Backup-%NAME-%FORMAT.zip"
create: true
- path: "plugins"
format: "Backup-plugins-%FORMAT.zip"
create: true
带黑名单的配置:backup-list:
- glob: "world*"
format: "Backup-%NAME-%FORMAT.zip"
create: true
- path: "plugins"
format: "Backup-plugins-%FORMAT.zip"
create: true
blacklist:
- "**/*.jar"
- "dynmap/**"
- "**/config.yml"
path 或 glob
要备份的文件/文件夹的路径,path 和 glob 同时只能存在一个,glob 支持 通配符。
format
备份文件名格式,支持 %NAME 和 %FORMAT。%FORMAT 代表时间格式,默认为 yyyy-M-d--HH-mm (2021-7-4--13-30)。
同时别忘了设置 时区 为 date-timezone: '+08:00'。
更多时间格式可参考 日期和时间格式字母,此外也可以设置 时间格式中的语言。
create
可能比较难理解,反正 create: true 就对了。
Whether to or to not create a zip backup for the specified path and instead backup a zip file created by another plugin in the backup-folder/path folder.
要为指定的路径创建一个zip备份存储文件然后上传(true),或者是直接备份(并上传)一个在 path 中的由另一个备份插件创建的备份存储文件(false)。
感谢 GPT 拯救了我脆弱的阅读理解
2.1 备份服务器目录中的所有文件backup-list:
- path: .
format: "Backup-server-%FORMAT.zip"
create: true
3. 设置备份存储位置和策略
原文档
local-save-directory: backup
本地存储备份的文件夹的路径。这是相对于 服务端 Jar 文件的文件夹。
默认值:backup。
如果你想把本地存储备份的文件夹的路径设置到为 plugins/DriveBackupV2/backup,
则 local-save-directory: plugins/DriveBackupV2/backup。
remote-save-directory: backup
远程服务器上用于保存备份的文件夹的路径。相对于根文件夹。
backup-thread-priority: 1
备份线程的优先级。为了尽可能避免影响服务器运行,默认为1。如果备份花费的时间太长,可以将此值增加到最大值10。
keep-count: 20
在删除最旧的备份之前要远端保留多少个备份。可以将其设置为-1以禁用自动删除。
local-keep-count: 0
在删除最旧的备份之前,要在本地存储保留多少个备份。可以将其设置为-1以禁用自动删除。
如果设置为0,备份文件会临时保存在本地存储,直到备份文件被上传到远程存储后再删除。
zip-compression: 1
备份ZIP文件的压缩级别。通常,较高的压缩级别意味着文件较小,但压缩时间较长。可以设置在1到9之间,9是最高压缩级别。
4. 更多设置
因配置略复杂并且我也没吃透该插件,所以在下方列出 Wiki 中常用的文章供大家参考。
如有不懂的地方,欢迎留下评论或通过文末的问卷和我联系,我会视情况翻译更多内容。
命令和权限
/drivebackup version
缩写:/drivebackup v
显示插件版本。任何人都可以运行此命令。
/drivebackup help
显示指向 DriveBackupV2 Discord 服务器和 Wiki 的链接。任何人都可以运行此命令。
/drivebackup commands
显示命令列表。任何人都可以运行此命令。
/drivebackup reloadconfig
重载插件。 需要 drivebackup.reloadConfig 权限。
/drivebackup linkaccount <service>
缩写:/drivebackup link
/drivebackup unlink <service>
绑定/取消绑定指定云服务的帐户。需要 drivebackup.linkAccounts 权限。
/drivebackup test <service>
测试与指定服务的连接。需要 drivebackup.backup 权限。
/drivebackup nextbackup
获取下一次自动备份的日期/时间。需要 drivebackup.getNextBackup 权限。
/drivebackup status
获取当前正在运行的备份的状态。需要 drivebackup.getBackupStatus 权限。
/drivebackup backup
手动运行备份,这不会影响自动备份计划。需要 drivebackup.backup 权限。
/drivebackup update
尝试将插件更新到最新版本。需要 drivebackup.linkAccounts 权限。
使用统计
更多
本插件已加入 插件搬运计划,会定期同步外网资源的更新。
搬运催更 & 问题反馈:快速响应问卷 或在下方留下评论。
|