Rsync исключает правильный синтаксис - PullRequest
0 голосов
/ 25 февраля 2019

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

Я использую эту команду:

rsync -rave --exclude 'js' --exclude 'css' --exclude 'fonts' root@{IP}:/rem_dir1/rem_dir2/public /local_dir1/local_dir2/public

Но результат этого:

Unexpected remote arg: root@{IP}:/rem_dir1/rem_dir2/public
rsync error: syntax or usage error (code 1) at main.c(1361) [sender=3.1.2]

Я уверен, что удаленный root правильный.Таким образом, проблема заключается в синтаксисе команды rsync.

Как правильно исключить несколько папок с помощью rsync?

Например, у нас есть папка /public, которая содержит dir1, dir2dir3, dir4 и dir5.Как скопировать только dir1 и dir2 из /public?

1 Ответ

0 голосов
/ 27 февраля 2019

Как и в случае с другим вашим вопросом, -rave не имеет смысла.Вам нужно всего лишь -av.

. Вы можете полюбоваться командами include и exclude, но самый простой способ скопировать всего две директории - просто перечислить их:

rsync -av \
    root@{IP}:/rem_dir1/rem_dir2/public/dir1 \
    root@{IP}:/rem_dir1/rem_dir2/public/dir2 \
    /local_dir1/local_dir2/public/

где \ это просто продолжение строки (так что я могу обернуть длинную строку), и я намеренно только добавил / к концу пути назначения, а не к исходным путям.

...