我正在尝试将服务器上远程目录中的文件夹rsync到本地目录。 SCP工作但我无法使用正确的rsync命令。我找不到目录或"不是目录"错误。
我在尝试:
rsync -ratlz --rsh="/usr/bin/sshpass -p $RSYNC_PASSWORD ssh -o StrictHostKeyChecking=no -l adminuser@xxx.xx.xxx.xxx" $serverpath/* $localpath/
$ serverpath有许多目录,里面有文件。
适用于我的scp是:
for latestfile in `sshpass -p $RSYNC_PASSWORD ssh adminuser@xxx.xx.xxx.xxx ls -ltr -d ${serverpath}/*`
do
sshpass -p "$RSYNC_PASSWORD" scp -r adminuser@xxx.xx.xxx.xxx:$serverpath/$latestfile $localpath/
done
任何帮助都将不胜感激。
由于
答案 0 :(得分:2)
我设法让它发挥作用。必须单独包含主机名和服务器路径。 sshpass需要用户登录凭据和远程服务器的IP作为ssh命令的一部分,并将其包含在rsync命令中。
rsync -avzr -e "sshpass -p $RSYNC_PASSWORD ssh -l adminuser@xxx.xx.xxx.xxx" adminuser@xxx.xx.xxx.xxx:$serverpath/* $localpath/