#rsync #ssh-tunnel
#rsync #ssh-туннель
Вопрос:
При использовании rsync можно создать целевой каталог на сервере, используя трюк —rsync-path следующим образом:
rsync -av -e "ssh" --rsync-path "mkdir -p /home/user/new/new amp;amp; rsync" ./file.txt user@10.0.2.60:/home/user/new/new
Однако, похоже, это не работает при использовании ssh-туннеля. Следующая команда просто зависает:
rsync -av -e "ssh -A user@10.0.2.61 ssh" --rsync-path "mkdir -p /home/user/new/new amp;amp; rsync" ./file.txt user@10.0.2.60:/home/user
Я убедился, что последняя команда работает, если я удалю аргумент —rsync-path и создам каталог вручную на целевом устройстве. Но как заставить rsync создать недостающий каталог при использовании ssh-туннелирования?
Ответ №1:
Удалось решить эту проблему. Команда внутри —rsync-path должна быть заключена в кавычки другого уровня:
rsync -av -e "ssh -A user@10.0.2.61 ssh" --rsync-path "'mkdir -p /home/user/new/new amp;amp; rsync'" ./file.txt user@10.0.2.60:/home/user