服务器上的Rsync远程文件夹,密码为本地文件夹

时间:2017-07-27 19:27:05

标签: linux bash rsync

我正在尝试将服务器上远程目录中的文件夹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

任何帮助都将不胜感激。

由于

1 个答案:

答案 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/