У ваших команд есть 2 проблемы
1) Постоянно спрашивается пароль ssh, поэтому делаются 2 отдельные команды для вывода и копирования.
2) Элементы в списке содержат / home / user / test, который rsync попытается скопировать в / home / user / test / home / user / test, выдав ошибку. Необходимо указать базовое имя файла.
# we need to get file basename since rsync+ssh will copy with respect to user home
files=$(ssh user@192.168.0.10 "find /home/user/test/ -mtime -1 -type f -exec basename {} ';'")
# do the actual copy reading list of files-from stdout
echo "$files" | rsync -avz --files-from=- user@192.168.0.10:test/ '/e/rc/'
Я не использую git bash
, поэтому, если выражение $(...)
не работает, попробуйте использовать обратные метки или использовать полноценный bash.