Я хочу настроить стандартный rdiff-бэкап на удаленный сервер. Однако данные очень большие для возможности подключения к Интернету. Поэтому мне нужен способ сделать первоначальную копию данных без rdiff-backup (поскольку нет возможности возобновить первоначальную передачу, которая не удалась после нескольких часов передачи).
Моя идея заключалась в том, чтобы изначально передавать данные с физического носителя на удаленный сервер. После этой передачи я синхронизировал данные с помощью rync, чтобы убедиться, что они идентичны. Теперь я хочу сделать исходное rdiff-резервное копирование. Когда я запускаю rdiff-backup, появляется много строк
Getting delta (with hash) of XY
как если бы каталоги НЕ были идентичны. Что именно означают эти строки? Означают ли они, что удаленный rdiff-backup решил, что файл не идентичен, поэтому передается дельта-разница?
Есть ли другой способ выполнить начальную передачу больших данных, которая может быть возобновлена в случае сбоя (в отличие от перезапуска с начала)?
Я использую двуличие вместо rdiff-backup
но, насколько я понимаю, ваша проблема здесь:
Моя идея заключалась в том, чтобы изначально передавать данные с физического носителя на удаленный сервер. После этой передачи я синхронизировал данные с помощью rync, чтобы убедиться, что они идентичны. Теперь я хочу сделать исходное rdiff-резервное копирование.
Решение, которое работает
Самое простое решение - rdiff-backup
на этот физический носитель в источнике резервного копирования вместо копирования и синхронизации данных. Затем переносят резервную копию с физического носителя на удаленный сервер и используют ее в качестве каталога резервных копий для удаленных резервных копий. Потому что при копировании и rsyncing по-прежнему нет начальной резервной копии, и программе необходимо перепроверить все файлы и сохранить метаданные. Таким образом Getting delta...
. Это, вероятно, не передача целых файлов, а просто контрольных сумм.
Решение, которое не работает
Возможно, стоит попробовать rdiff-backup
с физического носителя в каталог, а затем удаленно rdiff-backup
там с удаленного сервера. Хотя если rdiff-backup
также использует некоторые локальные метаданные (дублирование имеет), вам (или ему) придется перенести их обратно или воссоздать.
Отредактировано в соответствии с тем, что работало для OP.
Вы действительно связаны с помощью rdiff-backup или можете использовать простой rsync для инкрементного резервного копирования?
Вот небольшой скрипт, который хранит 4 инкрементных резервных копии. Вы можете легко изменить его, чтобы сохранить 9 или 99 инкрементных резервных копий или любое другое количество.
Он использует --link-dest
вариант из rsync, создающий жесткие ссылки, если файлы не изменились.
FROM=$HOME
TO=/var/backups
LINKTO=--link-dest=$TO/`/usr/bin/basename $FROM`.1
OPTS="-a --delete -delete-excluded"
NUMBER_OF_BACKUPS=4
/usr/bin/find $TO -maxdepth 1 -type d
-name "`/usr/bin/basename $FROM`.[0-9]"|\
/usr/bin/sort -rn| while read dir
do
this=`/usr/bin/expr match "$dir" '.*\([0-9]\)'`;
let next=($this+1)%$NUMBER_OF_BACKUPS;
basedirname=${dir%.[0-9]}
if [ $next -eq 0 ] ; then
/bin/rm -rf $dir
else
/bin/mv $dir $basedirname.$next
fi
done
/usr/bin/rsync $OPTS $LINKTO $FROM/ $TO/`/usr/bin/basename $FROM.0`
С помощью этого сценария вы можете сначала выполнить rsync ваших данных вручную, они настраивают сценарий для регулярного запуска.