Recebi esses erros ao tentar executar uma simulação com opção -n
sobre ssh em um servidor remoto:
# rsync --progress --delete -avhHen ssh /etc/yum [email protected]:/etc
rsync: Failed to exec n: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(85) [sender=3.1.0]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in IPC code (code 14) at io.c(226) [sender=3.1.0]
Como executo um teste para o comando acima usando rsync sobre ssh?
Responder1
rsync: Failed to exec n: No such file or directory (2)
Praticamente explica isso aí...
a -e
opção (versão longa: --rsh=) diz para executar oSEGUINDOcomando como o shell na máquina de destino.
Você contou: -e n
. Observe a ordem das opções que você forneceu. ( -avhHen
)
Inverta a ordem, ne
para que seu uso redundante -e ssh
funcione conforme desejado.
Responder2
O problema aqui é que-e
opção do rsyncespera o shell remoto como a próxima "coisa" na linha de comando: aqui, isso é n
, enquanto antes era ssh
.
Normalmente eu dividiria -e como sua própria opção e escreveria assim:
rsync --progress --delete -avhHn -e ssh /etc/yum [email protected]:/etc
mas você também pode mudar mais n
cedo - é importante que e
seja oduraropção em um grupo de opções curtas, se você for usá-la dessa forma.