我有两台机器,都运行在带有 centos 7 的 linux 上。 我已经在这两台机器上安装了 rsync 包,我能够将一个目录从一台机器同步到另一台机器。
现在我正在手动进行同步,每次我想同步时我都在运行下一行:
rsync -r /home/stuff root@123.0.0.99/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/