Se você quiser forçar as permissões no destino, precisará usar a opção --chmod e / ou a opção --perms .
-
--chmodsubstitui as permissões de origem (ou seja, o rsync finge que as permissões de origem são o que você especificar em vez do que elas realmente são) -
--perms(ou-p) força as permissões de origem no servidor de destino
Por exemplo:
rsync --chmod=a=r,u+w,D+x -p -r /cygdrive/c/xampp/htdocs/mysite/* \
[email protected]:/home/mysite/public_html/
Você não mencionou o que o cygwin considera as permissões de origem (ou seja, um ls -l /cygdrive/c/xampp/htdocs/mysite/* no cygwin) ou quais as permissões reais que estão no lado do destino. Se soubéssemos disso, seria possível construir algo um pouco mais simples.
Para uma iluminação completa das várias opções, consulte a muito detalhada página do manual do rsync .
Observe que o rsync ainda não suporta permissões octal (por exemplo, --chmod=644 ). De acordo com este post , o suporte para isso estará disponível no rsync 3.1.0.