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

Передача 40000+ файлов с помощью rsync между двумя серверами

У меня проблема с передачей файлов между двумя Linux-серверами в одной сети. На исходном сервере у меня есть каталог с 40055 небольшими файлами, размер каталога составляет 34 ГБ. Я попытался передать эти файлы с помощью команды rsync:

rsync -ah --progress --inplace /dir/dir_with_files user@server:/dir/destination_dir

После переноса на целевом сервере у меня есть каталог размером 108 ГБ, а не 34 ГБ

Блоки на разделах такие же.

Я сделал то же самое с scp, но проблема та же.

Для полного сохранения всего попробуйте:

rsync --archive --hard-links --sparse-files --acls --xattrs source dest

Затем, чтобы проверить правильность, вы можете сделать что-то вроде (при условии, что в именах файлов нет пробелов): for file in *; do md5sum $file >> /tmp/sums.txt; done а потом diff sums.txt на обоих серверах. Однако md5summing займет некоторое время.

Если у вас есть пробелы в именах файлов, создайте что-нибудь с find и / или xargs

Кстати, что значит du --bytes -hs сказать? Таким образом, вы исключаете размер блока.