我正在为数据库创建增量备份。大小约为8 GB每个转储。
我有一个备份创建策略,如下所示:(不用担心,我已经避免了碰撞)
- 每天每小时增加一次。(保存在
/hourly
) - 每天午夜增加一次。(保存在
/daily
) - 每个星期日午夜增加一次。(保存在
/weekly
) - 每个月 1 号午夜增加一次。(保存在
/monthly
)
所有这些备份都保存在S3 存储桶。
问题是,我需要在创建和恢复重复性时最大限度地提高效率。
例如:
恢复转储大约需要 30/40 分钟。这是因为我的备份链已经快有一周了,它必须下载整个链,逐一解密和解压每个增量。
我尝试对每天进行的备份进行同样的操作,由于时间不到一周,我duplicity
只需要下载几个文件,然后完成其余操作(解压缩、解密),然后瞧,耗时5分钟,可以接受。
我的想法是每周创建一个新的备份链,但一周的最后几天会有最多的增量,因此恢复时间最慢。
我需要一些帮助来尽可能地提高这个时间,或者至少只是提高它。在阅读手册页,我遇到了一些有趣的标志,例如--copy-blocksize
,,,,,,。--full-if-older-than (to create a new chain every week)
--max-blocksize
--s3-multipart-chunk-size
--s3-multipart-max-procs
--s3-unencrypted-connection (maybe?)
我所寻求的是有关如何缩短使用 duplicity 恢复文件的时间的建议。目前,我正在这样做,以恢复最后一个可用的备份。
PASSPHRASE="<redacted>" duplicity restore s3://<redacted>/daily/ database-daily.sql
此外,一个重要的事实是我运行这个程序的硬件:
Server Type: ccx43 (ID: 99)
ID: 99
Name: ccx43
Description: CCX43 Dedicated CPU
Cores: 16
CPU Type: dedicated
Memory: 64 GB
Disk: 160 GB
Storage Type: local
OS flavor: debian
OS version: 12