下面的代码在不同的目录中循环rsync
几次:
for (( i=0; i<6; i++ )); do
rsync /source-${i} /remote-destination
done
然而还有一个问题:当它执行第一个rsync
时,它会询问我remove服务器的密码,然后开始传输文件。只有在它完成所有文件的传输后,它才会第二次执行循环,再次询问我远程服务器的密码(没问题,我可以每次都输入密码),然后我需要等待传输发生,这样它才能继续。
我希望循环继续,而不等待...我尝试使用命令行末尾的&
字符将其发送到后台,但如果我这样做,我无法键入远程服务器的密码!
有什么办法可以解决这个问题吗?我真的想每次都自己输入密码,这不是问题。问题是循环等待每个rsync
完成,或者如果我使用&
,它会将密码提示发送到后台。
2条答案
按热度按时间ki0zmccv1#
看看
rsync
online man page,它有一个名为--password-file
的意见。以下是一些原文:
您可以通过设置环境变量RSYNC_PASSWORD为您想要使用的密码或使用--password-file选项来避免密码提示。这在编写rsync脚本时可能很有用。
gcmastyq2#
这实际上是一个
ssh
问题。你必须创建ssh密钥并将它们复制到远程主机--参见here以获得一些好的指导。直到你能做到:
rsync将需要密码。