合并增量 rsync 备份

合并增量 rsync 备份

我需要按日期顺序将增量备份合并到安全文件夹(即主备份文件夹)中。

有人帮助编写了脚本,以便每晚通过 cron 作业 rsync 文档:

$ for f in `ls -t /var/backups`; do rsync -aL "/var/backups/$f" /var/www/live/documents/; done

当前文件夹:

backup-2011-07-02  backup-2011-06-27  backup-2011-06-22  backup-2011-06-17
backup-2011-07-06  backup-2011-07-01  backup-2011-06-26  backup-2011-06-21  backup-2011-06-16
backup-2011-07-05  backup-2011-06-30  backup-2011-06-25  backup-2011-06-20  backup-2011-06-15
backup-2011-07-04  backup-2011-06-29  backup-2011-06-24  backup-2011-06-19  backup-2011-06-14
backup-2011-07-03  secure             backup-2011-06-23  backup-2011-06-18

文件夹结构示例:

backup-2011-07-03/secure/docs
secure/docs

每个文件夹中都有一个安全文件夹,其中包含需要合并的文件夹和文件

我不确定编写脚本将所有备份按日期顺序合并到安全文件夹中的最佳方法。

有任何想法吗?

答案1

这不是你想要的,但实际上你可以每天使用 rsync 进行完整备份,同时它会上传并占用与正常增量备份一样多的存储空间。它是通过硬链接完成的。我编写了一个可以自动执行此操作的脚本,我每天都会在多台机器上使用它。你可以在此处获取它的描述:http://okrasz-techblog.blogspot.com/2011/02/backing-up-with-rsync.html

注意 - 备份完成后,它将last_full_backup.txt使用备份目录进行更新。这是因为备份被中断。

答案2

这应该可以解决问题:

mkdir /var/backups/merged
for f in `ls -t /var/backups/backup-*` ; do cp -an /var/backups/$f/* /var/backups/merged/ ; done

相关内容