Ошибка синхронизации зеркала 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 вручную, оба файла исчезнут, и проблема будет решена.

Есть ли у вас какие-либо идеи о том, как избавиться от этой проблемы, кроме повторного запуска сценария вручную? Благодарю.

2 ответа

Вы можете обернуть ftpsync в шеллскрипт так:

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

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

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

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

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