rsync 文件时重复密码?

rsync 文件时重复密码?

我使用脚本分两步下载文件:

  1. 首先,我使用 .zip 文件将包含文件列表的文件从服务器下载到我的主机rsync
  2. 然后,我将rsync列表中给出的实际文件(相当多)从服务器下载到我的主机。

问题是该脚本定期询问密码,即它不断询问我在服务器上的帐户的密码。文件下载没有任何问题,所以我猜测 for 循环导致了问题,因为它在从服务器下载列表中的每个文件时要求输入密码。

如果我是正确的,那么可能的解决方案是什么,以便脚本只要求输入一次密码?如果我错了,请纠正我。

笔记:顺便说一句,不允许基于密钥的身份验证。

#!/bin/bash

rsync --partial -z --remove-source-files server:~/list ~/.

for i in $(cat ~/list)
do
  rsync --partial -z server:/some/location/$i ~/someplace/$i
done

答案1

你的理论对我来说听起来很正确。每次调用时通过 for 循环rsync,它都会重新连接到服务器并导致重新提示您。

~/listfor可以直接将此列表提供给rsync使用开关,而不是循环遍历文件--files-from=

例子

$ rsync --partial -z --files-from=/some/list server:/some/location/ ~/someplace/

相关内容