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

Ошибка синхронизации зеркала Debian

Я использую инструмент синхронизации зеркал Debian ftpsync в системе FreeBSD 8.2. Я немного изменил скрипт только для адаптации к системе FreeBSD (например, путь bash). И я пошел по шагам от http://www.debian.org/mirror/ftpmirror для настройки зеркального сайта.

Скрипт помещается в задание cron и будет запускаться каждый день. Время от времени в файлах журнала я вижу следующее сообщение об ошибке, которое выглядит примерно так:

file has vanished: "/pool/main/g/gcc-snapshot/.gcc-snapshot_20120625-1_s390x.deb.1cqlSA" (in debian)
rsync warning: some files vanished before they could be transferred (code 24) at main.c(1518) [generator=3.0.9]

Если возникает эта ошибка, два файла, начинающиеся с 'Archive-Update-in-Progress-' и 'Archive-Update-Required'появится в зеркальном репозитории. Похоже, что некоторые файлы были обновлены во время синхронизации из восходящего потока. Если я снова запущу сценарий ftpsync вручную, оба файла исчезнут, и проблема будет решена.

Вы знаете, как избавиться от этой проблемы, кроме повторного запуска скрипта вручную? Спасибо.

Вы можете заключить ftpsync в сценарий оболочки следующим образом:

#!/bin/sh
ftpsync
while [ -f /pool/main/Archive-Update-In-Progress ]; do
   sleep 600
   ftpsync
done

Это обновит репо до тех пор, пока не будет выполнено обновление архива на другой стороне.

Насколько я знаю: нельзя! Только если вы знаете, как выглядят эти файлы, вы сможете исключить их из вызова rsync.

Кажется, что эти файлы временные и исчезают во время передачи файлов.