сбой rsync не обнаружен функцией duply/duplicity; поврежденная резервная копия «успешно»

Прежде всего, я признаю, что это не самые последние версии дупли и двуличности. Клиент запускает серверы на различных версиях ОС, и в настоящее время мы устанавливаем duply и duplicity из системных репозиториев. Я искал и не нашел никаких указаний на то, что эта проблема исправлена ​​в более поздней версии. Если кто-нибудь сможет показать мне, что это так, мы обновим системы для установки обновленных версий этих пакетов. Но я бы предпочел знать наверняка, прежде чем вкладывать эти усилия.

Мы создаем резервные копии файлов, используя duplicity, управляемые duply, и запускаем их через cron. Пока выполнялось полное резервное копирование, в ходе работ по техническому обслуживанию на нашем хостинге принимающий сервер был отключен от сети. Позже, при попытке восстановления из этой резервной копии, чтобы подготовить замену для этого сервера, я обнаружил, что резервная копия была повреждена и содержала несколько файлов размером 0 байт во время периода обслуживания. Я не получил электронное письмо от cron об ошибке, и результаты журнала показали, что, хотя rsync сообщил об ошибке, duplicity не выявил ни одной («Ошибки 0»):

      Start duply v1.11, time is 2022-12-30 02:00:01.
Using profile '/etc/duply/sites'.
Using installed duplicity version 0.7.06, python 2.7.12, gpg 1.4.20 (Home: ~/.gnupg), awk '
GNU Awk 4.1.3, API: 1.1 (GNU MPFR 3.1.4, GNU MP 6.1.0)', grep 'grep (GNU grep) 2.25', bash 
'4.3.48(1)-release (x86_64-pc-linux-gnu)'.
Checking TEMP_DIR '/tmp' is a folder and writable (OK)
Test - En/Decryption skipped. (Testing disabled)

--- Start running command PRE at 02:00:02.363 ---
Skipping n/a script '/etc/duply/sites/pre'.
--- Finished state OK at 02:00:02.415 - Runtime 00:00:00.051 ---

--- Start running command BKP at 02:00:02.433 ---
Attempt 1 failed. BackendException: Error running 'rsync -e 'ssh -oBatchMode=yes' /tmp/duplicity-upULdT-tempdir/mktemp-i_a13g-605 USER@SERVER:PATH/sites/duplicity-full.20221230T070002Z.vol604.difftar.gpg': returned 255, with output:

packet_write_wait: Connection to 12.34.567.890 port 22: Broken pipe
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]

--------------[ Backup Statistics ]--------------
StartTime 1672383612.11 (Fri Dec 30 02:00:12 2022)
EndTime 1672388712.14 (Fri Dec 30 03:25:12 2022)
ElapsedTime 5100.03 (1 hour 25 minutes)
SourceFiles 21623
SourceFileSize 18523309075 (17.3 GB)
NewFiles 21623
NewFileSize 18523309075 (17.3 GB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 21623
RawDeltaSize 18514613173 (17.2 GB)
TotalDestinationSizeChange 17904721458 (16.7 GB)
Errors 0
-------------------------------------------------

--- Finished state OK at 03:25:32.689 - Runtime 01:25:30.256 ---

--- Start running command POST at 03:25:32.700 ---
Skipping n/a script '/etc/duply/sites/post'.
--- Finished state OK at 03:25:32.715 - Runtime 00:00:00.014 ---

Поврежденные файлы:

      -rw------- 1 backup adm  26268756 Dec 30 03:08 duplicity-full.20221230T070002Z.vol597.difftar.gpg
-rw------- 1 backup adm         0 Dec 30 03:08 duplicity-full.20221230T070002Z.vol598.difftar.gpg
-rw------- 1 backup adm         0 Dec 30 03:08 duplicity-full.20221230T070002Z.vol599.difftar.gpg
-rw------- 1 backup adm         0 Dec 30 03:08 duplicity-full.20221230T070002Z.vol600.difftar.gpg
-rw------- 1 backup adm         0 Dec 30 03:08 duplicity-full.20221230T070002Z.vol601.difftar.gpg
-rw------- 1 backup adm         0 Dec 30 03:08 duplicity-full.20221230T070002Z.vol602.difftar.gpg
-rw------- 1 backup adm         0 Dec 30 03:08 duplicity-full.20221230T070002Z.vol603.difftar.gpg
-rw------- 1 backup adm  26281466 Dec 30 03:22 duplicity-full.20221230T070002Z.vol604.difftar.gpg

Что можно сделать, чтобы предотвратить это в будущем? Я не против сбоя резервного копирования из-за проблемы с сервером. Я хочу знать, что это не удалось, чтобы я мог с этим справиться. Я просмотрел страницы duply, duplicity и rsync и не нашел никаких дополнительных параметров, которые могли бы повлиять на это.

1 ответ

эти версии в целом устарели и больше не поддерживаются. обновите версию duply 2.4.2/duplicity 1.2.1 до последней версии и проверьте, можете ли вы по-прежнему воспроизвести ошибку. если да, отправьте сообщение об ошибке на https://gitlab.com/duplicity/duplicity/-/issues .

поскольку ваши версии устарели, есть большая вероятность, что такая очевидная ошибка, как эта, уже исправлена.

Если обновление версий представляет собой слишком сложную задачу, вы можете рассмотреть возможность использования sftp:// или другого бэкэнда, если rsync в вашем случае ненадежен.

Кроме того, вы можете регулярно проверять свои резервные копии, чтобы избежать подобных сюрпризов в будущем.

Другие вопросы по тегам