我正在尝试将服务器上远程目录中的文件夹与密码同步到本地目录。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
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
谢谢
我设法让它工作。必须分别包含主机名和服务器路径。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/
Run Code Online (Sandbox Code Playgroud)