1

Я заметил странную проблему, когда rsync не передает большие (около 3 ГБ) файлы. Я использую MSYS rsync и перенесу свою локальную сеть из коробки Windows на NAS на базе Linux через ssh. Большинство файлов передаются без проблем, но с большими файлами я вижу имя файла в месте назначения, но оно имеет размер 0 КБ и файлы не открываются.

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

rsync -avv -e 'ssh' --hard-links --inplace --no-inc-recursive
    --modify-window=2 --delete --delete-excluded --exclude=".svn*"
    "/d/All Files" user@local_ip:"/mnt/All Files"

Кто-нибудь видел что-то подобное раньше? Что я могу сделать, чтобы отладить это?

Обновление: вот подробный вывод команды rsync для передачи с --progress и --stats . Файл "Несжатый 1080 против 720.avi" является проблемным файлом. Это почти 7 ГБ. Странно для меня то, что rsync сообщает об отрицательном размере файла. Что может быть причиной этого?

building file list ...
3 files to consider
delta-transmission enabled
Uncompressed 1080 24p vs 24pa 29 97.avi is uptodate
Uncompressed 1080 vs 720.avi
 -1546369996 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/3)
total: matches=0  hash_hits=0  false_alarms=0 data=-1546369996

Number of files: 3
Number of files transferred: 1
Total file size: 4868647526 bytes
Total transferred file size: 2748597300 bytes
Literal data: -1546369996 bytes
Matched data: 0 bytes
File list size: 124
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 180
Total bytes received: 37

sent 180 bytes  received 37 bytes  39.45 bytes/sec
total size is 4868647526  speedup is 22436163.71

2 ответа2

3

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

Если у вас 64-битная версия, посмотрите, сможете ли вы найти 64-битную версию rsync. Если нет, попробуйте другие реализации rsync (на ум приходят DeltaCopy и cwRsync). Я подозреваю, что все эти реализации rsync являются просто портами одного и того же кода, но стоит попробовать. Компания, предоставляющая DeltaCopy, имеет поддерживаемый коммерческий продукт, который может решить вашу проблему.

Существует множество программ для копирования файлов, как бесплатных, так и коммерческих, поэтому должна быть одна, которая может решить вашу проблему. Одним из примеров является SyncBack (доступно в бесплатной и коммерческой версиях).

1

Я имел обыкновение иметь эту проблему все время. Я думал, что они могли бы исправить это сейчас.

Раньше проблема заключалась в том, что rsync не хватало памяти при попытке работать с большими файлами. Я отказался от его использования несколько лет назад из-за этого и переключился на другие инструменты резервного копирования / синхронизации.

Не уверены в состоянии rsync для Windows, возможно, стоит попробовать найти альтернативный бинарный файл?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .