O erro vem do fato de que não há diretório /public_html/abc
no sistema remoto.
De acordo com comentários , o O diretório de origem está realmente localizado no diretório inicial do usuário, não no caminho /public_html
.
Portanto:
rsync -avzP [email protected]:public_html/abc/ /www/abc
Aqui, acessamos public_html/abc
no diretório pessoal do usuário, e não na raiz do sistema de arquivos.
O aviso stdin: is not a tty
vem do fato de que o arquivo de inicialização do seu shell para shells interativos está sendo chamado no host remoto (seu arquivo ~/.bashrc
, se você estiver usando bash
), e você está fazendo algo nele que requer um terminal.
Você pode editar o arquivo de inicialização do shell na máquina remota e inserir o seguinte próximo ao topo:
[ ! -t 0 ] && return
Isso impediria a execução de, e. ~/.bashrc
nesse ponto para todas as sessões de shell cujos fluxos de entrada padrão não estão conectados a um terminal.