Я получил эти ошибки при попытке выполнить пробный запуск с опцией -n
через ssh на удаленном сервере:
# 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]
Как выполнить пробный запуск указанной выше команды с помощью rsync через ssh?
решение1
rsync: Failed to exec n: No such file or directory (2)
Там довольно подробно это объясняется...
опция -e
(длинная версия: --rsh=) говорит о необходимости выполнитьСЛЕДУЮЩИЙкоманду в качестве оболочки на целевой машине.
Вы сказали ему: -e n
. Посмотрите на порядок предоставленных вами вариантов. ( -avhHen
)
Измените порядок ne
так, чтобы избыточное использование -e ssh
работало так, как вам нужно.
решение2
Проблема здесь в том, что-e
опция rsyncожидает удаленную оболочку как следующую «вещь» в командной строке: вот, это n
, тогда как раньше это было ssh
.
Обычно я бы выделил -e в отдельную опцию и записал бы это так:
rsync --progress --delete -avhHn -e ssh /etc/yum [email protected]:/etc
но вы также можете просто переместить более n
раннее - важно, чтобы это e
былопоследнийвариант в группе коротких вариантов, если вы собираетесь использовать его таким образом.