Назад | Перейти на главную страницу

Первоначальное резервное копирование rdiff при медленном соединении / больших данных (можно ли выполнить rsync перед получением помощи?)

Я хочу настроить стандартный 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 ваших данных вручную, они настраивают сценарий для регулярного запуска.