Почему rsync вкладывает каталоги?

У меня есть этот сценарий: dir1 /home/arek/, dir2 /mnt/home/arek/ (смонтированный с sshfs).

Когда я выхожу: rsync -avz /mnt/home/arek /home/arek, Я добираюсь /home/arek/arek с целым содержанием. Некоторые каталоги в порядке в /home, некоторые не. Нет никаких ссылок (ни тверды, ни символьные).

Кто-либо знает то, что продолжается и как защитить меня?

6
задан 29.09.2018, 22:56

2 ответа

rsync(1) требовательно в отношении запаздывающей наклонной черты. Попробуйте это:

rsync -avz /mnt/home/arek/ /home/arek

Посмотрите mainpage для всех подробностей.

Обновление

Если один из путей смонтирован через sshfs, я предлагаю использовать rsync(1) по-другому:

rsync -avzP -e ssh username@remotesystem:/home/arek/ /home/arek

( -e ssh могло бы быть избыточным в этой точке; rsync(1) используемый для установки по умолчанию к rsh!)

-P просит частичные передачи файлов быть перезапущенным (очень полезный на сетевых каналах, которые могли бы умереть), и выставочный прогресс (который полезен по сетевым каналам, так как они часто медленнее, чем копии от диска к диску).

Кроме того, rsync(1) очень умно о выполнении хеширования, проверяет обе конечных точки при вызове этот путь - диск к пропускной способности ЦП намного лучше, чем диск к ssh объединяться в сеть к ssh к wonky пропускной способности драйвера файловой системы - таким образом, Вы будете передавать намного меньше данных по сети.

Рассмотрите: если Вы добавляете единственный байт в каждый файл, rsync(1) по sshfs будет вынужден передать содержание каждого файла от источника до места назначения. rsync(1) ssh(1) вместо этого запустится rsync(1) на удаленной конечной точке и делают вычисления хеширования на обеих машинах по мере необходимости и вероятно только передаст последние 8 192 байта каждого файла.

8
ответ дан 07.12.2019, 15:58

Это копирует каталог /mnt/home/arek в /home/arek, когда то, что Вы хотите, - чтобы это скопировало содержание /mnt/home/arek. Можно получить это поведение путем добавления запаздывающей наклонной черты к исходному имени каталога: rsync -avz /mnt/home/arek/ /home/arek. Да, это немного странно. Это документируется в rsync страница справочника, при направляющемся "ИСПОЛЬЗОВАНИИ", но это не объяснено очень ясно там.

0
ответ дан 07.12.2019, 15:58

Теги

Похожие вопросы