rsync создает структуру каталогов, но не копирует связанные файлы.

Вопрос или проблема

Я пытаюсь использовать rsync для копирования папки и связанных с ней подпапок на новый жесткий диск, подключенный по USB:

rsync -av /media/foo/EBU402/hdd011 /media/foo/EBU601/hdd011

Некоторые из подпапок и файлов копируются правильно, но есть подпапки, которые создаются, но не заполняются (они не содержат файлов):

/media/foo/EBU402/ps.all/ps/opx.ps/(129 папок) <-- все папки пустые

Схематично:

media -- foo -- EBU402 -- ps.all -- opx.ps +-- Folder001 <-- все папки пустые
                                           +-- Folder002
                                           +-- Folder003
                                           .
                                           .
                                           .
                                           +-- Folder129

fsck на обоих дисках сообщает, что они чистые.

Все файлы и папки имеют права, установленные на 0777.

rsync не возвращает ошибок.

Внешний диск подключен к USB-центру с питанием.

Количество файлов, подлежащих копированию, менее 10,000.

Я использую Ubuntu 22.04.5 LTS.

Я в недоумении. Это также очень беспокоит, так как rsync для резервного диска ненадежен.

—- Заметка добавлена 2024-1013T1028:

Я запустил rsync с флагом –stats. Вывод показан ниже. Подкаталоги, которые не были заполнены, теперь (очевидно) правильно заполнены. Я в замешательстве. Теперь мне нужно каким-то образом проверить, что файлы были скопированы, не проверяя существование 4 миллионов файлов.

Количество файлов: 4,021,174 (обычных: 3,823,909, папок: 197,241, ссылок: 24)
Количество созданных файлов: 4,021,174 (обычных: 3,823,909, папок: 197,241, ссылок: 24)
Количество удаленных файлов: 0
Количество переданных обычных файлов: 3,823,909
Общий размер файлов: 1,676,522,777,391 байт
Общий переданный размер файлов: 1,676,522,776,981 байт
Литеральные данные: 1,676,522,776,981 байт
Совпадающие данные: 0 байт
Размер списка файлов: 175,014,901
Время генерации списка файлов: 0.001 секунды
Время передачи списка файлов: 0.000 секунд
Общее количество переданных байтов: 1,677,214,012,251
Общее количество полученных байтов: 74,008,114

отправлено 1,677,214,012,251 байт получено 74,008,114 байт 144,127,864.26 байт/сек
общий размер 1,676,522,777,391 ускорение 1.00

Ответ или решение

Проблема с копированием файлов с помощью rsync: причины и решения

Вы столкнулись с ситуацией, когда команда rsync создает структуру директории, но не копирует связанный контент. Это может вызывать серьезные опасения по поводу надежности метода резервного копирования, особенно когда речь идет о значительном количестве файлов. Давайте рассмотрим возможные причины данной проблемы и способы их разрешения.

Анализ команды rsync

Вы ввели следующую команду:

rsync -av /media/foo/EBU402/hdd011 /media/foo/EBU601/hdd011
  • -a означает "архивный" режим, который сохраняет символические ссылки, права доступа, временные метки и другие атрибуты.
  • -v — это режим подробного вывода, который предоставляет информацию о процессе передачи.

Ваши ожидаемые результаты включают копирование всех подкаталогов и файлов из директории hdd011. Однако вы столкнулись с тем, что некоторые подкаталоги созданы, но останутся пустыми.

Возможные причины проблемы

  1. Проблемы с разделом файловой системы: Несмотря на то, что fsck не обнаружил ошибок, возможно, существуют проблемы с производительностью. Однако в большинстве случаев fsck выявляет проблемы, которые могут влиять на работоспособность файловой системы.

  2. Ограничения USB-устройств: Иногда проблемы с подключением через USB, особенно если используется хаб, могут приводить к сбоям в передаче данных. Если возможно, попробуйте подключить внешний диск напрямую к компьютеру и повторить инструкцию.

  3. Проблемы с разрешениями: Вы указали, что на файлы установлены права доступа 0777. Тем не менее, убедитесь, что ваша учетная запись имеет все необходимые права для доступа к данным как на исходном, так и на целевом диске.

  4. Объем данных: Вы переносили более 1.6 ТБ данных. На некоторых системах могут возникать ограничения по объему передаваемой информации за один раз, особенно при наличии большого количества файлов.

  5. Кэши и потери данных: В некоторых случаях системные кэши могут влиять на отображение статуса файлов до завершения процесса копирования.

Решения и рекомендации

  1. Использование дополнительных флагов: Попробуйте использовать флаг --progress, чтобы отслеживать процесс копирования в реальном времени. Это поможет вам увидеть, как именно rsync обрабатывает каждую директорию и файл.

  2. Запуск с параметром --stats: Вы уже использовали этот параметр. Это один из лучших способов получить подробные сведения о процессе передачи. Такой отчет может оправдать ваши опасения, так как вы сможете видеть, сколько файлов было создано и сколько данных было передано.

  3. Проверка целостности данных: Для подтверждения успешного копирования вы можете использовать команду diff или rsync с флагом -n (симуляция), чтобы сравнить исходные и целевые директории без фактической передачи данных. Пример:

    rsync -avn /media/foo/EBU402/hdd011 /media/foo/EBU601/hdd011
  4. Ручная проверка содержимого: Если вы действительно хотите убедиться в целостности данных, возможно, будет разумно использовать скриптовое решение, так как у вас есть 4 миллиона файлов. Вы можете создать список файлов в обеих директориях и сравнить их.

  5. Использование других инструментов резервного копирования: Если этот процесс вызывает у вас чрезмерное беспокойство, подумайте о том, чтобы попробовать альтернативные инструменты резервного копирования, такие как tar, cp, или специализированные программы для резервного копирования, которые могут предложить более интуитивные интерфейсы и дополнительные функции.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...