我有两台机器,都在带有centos 7的linux上运行。
我已经在它们两个上安装了 rsync 软件包,并且我能够将目录从一台机器同步到另一台机器。
现在我正在手动同步,每次我想同步时我都在运行下一行:
rsync -r /home/stuff [email protected]/home
我想知道是否有一种方法可以配置 rsync 自动进行同步,每隔一段时间或最好是在主目录中有一个新的子目录文件时?
感谢您的帮助。
任何帮助,将不胜感激。
最佳答案
如果您想每隔一段时间进行 rsync,您可以使用 cronjobs
,它可以配置为每次运行特定命令,如果您想在有更新或修改时运行 rsync,您可以使用 lsyncd
。检查 this article 关于使用 lsyncd
更新:
由于链接可能会过时,我将添加这个简短的示例(您可以自由修改最适合您的内容):
首先在源机器上创建一个 ssh key ,然后在目标机器上的 ~/.ssh/authorized_keys
文件中添加公钥。
在源机器中使用以下内容更新此文件 ~/.ssh/config
:
# ~/.ssh/config
...
Host my.remote.server
identityfile ~/.ssh/id_rsa
IdentitiesOnly yes
hostname 123.0.0.99
user root
port 22
...
并使用以下配置您的 lsyncd 然后重新启动 lsyncd 的服务
# lsyncd.conf
...
sync {
default.rsyncssh,
source="/home/stuff",
host="my.remote.server",
targetdir="/home/stuff",
excludeFrom="/etc/lsyncd/lsyncd.exclude",
rsync = {
archive = true,
}
}
...
关于linux - 启用 rsync 永久运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40104114/