2

我使用 rsync 来更新我的静态网站。我目前cd到本地网站目录,运行rsync命令,然后在下一行输入密码。我已将我的rsync通话保存到一个文本片段中(这样_rs就可以扩展为我的通话)。有没有办法在-p最后使用标志之类的东西并包含密码?

我的电话看起来像这样:

rsync -avzh -e ssh * foo@foo.org:"/home/foo/public_html/"

4

2 回答 2

3

直接回答这个问题,在不太安全的情况下可能很有用。

#!/usr/bin/expect -f

set PASSPH "123456"
send_user "\n"
stty -echo

spawn rsync -apv -e ssh "/Volumes/Macintosh HD/Users/charliechaplin/test/" "charly@chaplin.com:/project/htdocs/site/"
expect "password:"
send "$PASSPH\n"
expect "#"
于 2013-03-02T18:20:32.843 回答
2

选项之一是使用公钥/私钥对,请参阅How to auto rsync with ssh passwordless

或者你可以尝试使用Expect

于 2012-08-19T19:04:56.597 回答