Я запускаю это из командной строки:
rsync -rltz --executability -C --filter=':- .gitignore' -e "ssh -i /cygdrive/c/Users/dstein/.ssh/id_rsa" myfolder/ [email protected]:/path/to/place
У меня есть PATH
среда, на которую указывает avriable, cygwin/bin
поэтому я могу использовать ее rsync
, не находясь в cygwin, что вызывало ряд других проблем.
Я наконец-то заставил это работать, так что если я изменяю файл, myfolder
он загружается в place
. Однако если я редактирую какие-либо файлы, которые далее вложены в myfolder
указанную выше команду, для них это не работает.
РЕДАКТИРОВАТЬ
Оказывается, дело не в глубине, а в этой конкретной папке с таким названием. core
У нее такие же разрешения, как и у всех остальных папок, которые прекрасно синхронизируются.
решение1
Похоже, что ваша проблема связана с -C
флагом. rsync
Флаг -C
— это правило исключения CVS. Он автоматически игнорирует файлы, соответствующие внутренним правилам CVS по исключению файлов.
Эти исключения включают в себя man rsync(1)
:
RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#* ,* _$* *$
*.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core
.svn/ .git/ .hg/ .bzr/
Правило, которое нарушил ваш каталог, находится core
в конце строки 2.
решение2
Позвольте мне удалить все и вставить, как мы пересеклись. Если вы удалите завершающий / из myfolder/, весь каталог будет скопирован. Но у вас будет myfolder внутри. Я не понимаю, почему -r не работает.
Добавьте -vv, чтобы получить больше информации.