我正在尝试使用密码将服务器上远程目录中的文件夹同步到本地目录。 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
如有任何帮助,我们将不胜感激。
谢谢
最佳答案
我设法让它工作了。有必要单独包含主机名和服务器路径。 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/
关于linux - 使用本地文件夹密码的服务器上的 Rsync 远程文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45359426/