Написал сценарий оболочки, чтобы помочь мне в развертывании веб-сайта. В конце концов все складывается, как предполагалось, но команда rsync отказывается работать.
rsync --chmod="ug+rwx" -e="ssh" --filter="merge '/.deploy/filters'" --dry-run "/var/www/vhosts/staging/myhost.com/httpdocs/" "me@myhost.com:/var/www/vhosts/myhost.com/domains/myhost.com/httpdocs"
дает:
rsync: failed to open exclude file '/.deploy/filters': No such file or directory (2)
Изменение полного пути к файлу фильтра (относительно root) не решает проблему; изменяется только путь в сообщенной ошибке:
--filter="merge /.deploy/filters"
дает:
invalid modifier sequence at 'd' in filter rule: .deploy
Очень расстраивает и обескураживает. Пожалуйста, кто-нибудь может объяснить?
ОБНОВИТЬ
Думал, мне нужно немного прояснить ситуацию.
Использование --filter="merge 'path'"
без одинарных кавычек всегда приводит к ошибке invalid modifier sequence
.
--filter="merge '/relative/to/rsync/root/path'"
не дает такой ошибки no such file or directory
, а также использование
--filter="merge '/relative/to/rsync/root/path'"
а также
--filter="merge '/absolute/path'"
а также
--filter="merge 'relative/path'"