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

Я нахожусь на Ubuntu 18.04 (rsync версии 3.1.2) и запускаю следующую команду:

rsync -exclude-from='sync_exclude.txt' -azvv -e ssh '.' root@146.xx.xx.xx:~/wp

где файл sync_exclude.txt выглядит так:

$ cat sync_exclude.txt
.idea
.git
.gitignore
.DS_Store
sync_exclude.txt
ansible/*
.env

Но, к моему удивлению, rsync теперь также синхронизирует все вещи в этом исключаемом файле.

Я пробовал другие варианты, такие как

rsync -exclude=.git/ -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude=".git/" -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude=/.git/ -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude=/.git/* -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude /.git/ -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude /.git/* -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude="/.git/*" -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude "/.git/*" -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude={.git/,"ansible/*"} -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
rsync -exclude {.git/,"ansible/*"} -azvv -e ssh '.' root@146.xx.xx.xx:~/wp
etc.

Но ни один из них не исключает папку .git/ или ansible/ . Я тоже пробовал на MacOS, но у меня там такая же проблема.

Я бьюсь головой о стену, почему ничего из этого не сработает.

Кто-нибудь может помочь мне избавиться от моих страданий?

1 ответ1

1

Это может быть просто опечатка, но вы должны использовать --exclude-from вместо -exclude-from (обратите внимание на двойной дефис).

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