如何创建在一个密码输入上运行的重复rsync?

时间:2015-09-20 20:41:53

标签: ssh passwords rsync ssh-keygen

我想将文件从家用计算机rsync到云端服务器。我能够使用以下内容设置连续rsync:

#!/bin/bash

while :

do 

rsync -rav * --include=*.bz2 --exclude=*.* --exclude=ZIP.sh --exclude=UPLOAD.sh
--chmod=a+rwx user@server.com:/home/user/date

sleep 180

done

如果我将keygen设置为here状态,这当然会持续运行。我希望在第一次输入密码时连续运行rsync,之后它会一直运行直到我按下CTRL + C.有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

是的,使用SSH连接共享:

将此~/.ssh/config文件添加到此顶部:

ControlMaster auto
ControlPath /tmp/ssh_%r@%n:%p
ControlPersist 8h

连接共享意味着与同一服务器的所有SSH连接将共享相同的连接。这意味着您可以跳过除第一个连接之外的所有连接的身份验证过程。 ControlPersist设置控制连接在关闭之前的空闲时间(8小时表示我可以在早上登录,并且连接在一天结束时仍然处于活动状态,但在下一个结束之前将过期天)。

ControlPath指定缓存套接字的生存位置。它可以是你喜欢的任何地方,它们可以被称为你喜欢的任何东西,但是/tmp目录可以正常运行,并且名称对于你想要使用的每个用户,服务器和端口必须是唯一的,否则你和#39;我会发生冲突。

顺便说一句,您应该查看lsyncd工具作为连续主动扫描的替代方法。它使用内核通知来监视文件系统,并仅在实际发生更改时启动rsync。