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

How to create repeating rsync that runs on one password input?

我想将文件从我的家用电脑同步到云服务器。我可以使用以下设置我的连续 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

如果我将注册机设置为 here 状态,这当然会持续 运行。我想在第一次输入密码时连续 运行 rsync,然后它会连续 运行 直到我按下 CTRL+C。有办法吗?

是,使用 SSH 连接共享:

将此添加到您的 ~/.ssh/config 文件中:

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

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

ControlPath 指定缓存套接字的存放位置。它可以在任何你喜欢的地方,也可以随意命名,但是 /tmp 目录就可以了,而且每个用户、服务器和你想使用的端口的名称必须是唯一的,否则你会发生冲突。


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