Перейти к содержимому

Как избежать копирования поврежденных файлов с помощью rsync

3

У меня есть жесткий диск с большим количеством файлов, некоторые из которых, к сожалению, повреждены. Я сейчас пытаюсь скопировать хорошие файлы на новый жесткий диск. Я использую:

rsync -azP SRC TGT 

Когда rsync приходит к одному из поврежденных файлов, я вижу сообщение в консоли:

rsync: read errors mapping XXX: Input/output error (5) 

В целевой папке я все еще вижу поврежденный файл, который я не могу открыть и который я должен удалить вручную.

Есть ли возможность сказать rsync не копировать файлы после ошибки ввода / вывода?

6 059 просмотров
Roberto Aloi спросил 15 лет назад
R 623

2 ответа

2

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

rsync -aP --partial-dir=/cygdrive/j/broken /cygdrive/g /cygdrive/j/gee 

Файлы, которые не являются полностью читаемыми, останутся в partial-dir. /cygdrive/jэто точка монтирования нового и /cygdrive/gточка монтирования старого сломанного диска.

Jarkko ответил 13 лет назад
J 21
1

Я не думаю, что вы можете заставить это остановиться на этой ошибке. Вам нужно будет регистрировать ошибки, очищать проблемные файлы и снова запускать rsync.

У Майка Бомбича есть хорошая страница с описанием вашей ошибки. Что такое ошибки «ввода / вывода» и как их можно устранить?

«Эти ошибки обычно являются результатом повреждения носителя - некоторые из« секторов »на жестком диске вышли из строя, и Mac OS X больше не может считывать данные с них. В этом случае файл или файлы, которые используют плохие сектор должен быть удален и восстановлен из предыдущей резервной копии. Как только вы удалили файлы, которые были вызваны в файле CCC.log, вы сможете снова успешно выполнить задачу резервного копирования. "

Несмотря на то, что он ссылается на CarbonCopyCloner, он использует rsync для управления синхронизацией клона, поэтому то же самое применимо и здесь.

Между прочим, версия Apple (2.6.9) устарела и неправильно обрабатывает метаданные HFS +. Последняя версия - 3.0.7, которая поддерживает все метаданные для правильного резервного копирования.

У Майка есть страница ( http://www.bombich.com/rsync.html ), в которой документируется компиляция, установка и использование новой версии. Обязательно проверьте переключатели и параметры, которые он применяет для резервного копирования.

JasKerr ответил 15 лет назад
J 361