Мне нужно объединить мои инкрементные резервные копии в безопасную папку (которая является основной папкой резервных копий) в порядке даты.
Кто-то помог со сценарием для синхронизации документов каждую ночь с помощью задания cron:
$ 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
В каждой из этих папок есть безопасная папка, в которой находятся папки и файлы, которые необходимо объединить.
Я не уверен, как лучше всего написать сценарий для объединения всех резервных копий в защищенной папке по дате.
Любые идеи?
Это не то, о чем вы просите, но вы действительно можете каждый день делать полную резервную копию с помощью rsync, при этом она будет загружать и занимать столько же хранилища, сколько обычное инкрементное резервное копирование. Это делается с помощью жестких ссылок. Я написал сценарий, который автоматизирует это, и использую его ежедневно на нескольких машинах. Вы можете скачать его с описанием здесь: http://okrasz-techblog.blogspot.com/2011/02/backing-up-with-rsync.html
Примечание. Когда резервное копирование будет выполнено, оно обновится. last_full_backup.txt
с резервным каталогом. Это на случай, если резервное копирование было прервано.
Тогда это должно сработать:
mkdir /var/backups/merged
for f in `ls -t /var/backups/backup-*` ; do cp -an /var/backups/$f/* /var/backups/merged/ ; done