永久启用 rsync 运行
enable rsync to run permanently
我有两台机器,都是 运行 linux 上的 centos 7。
我已经在它们上都安装了 rsync 包,我可以将一个目录从一台机器同步到另一台机器。
现在我正在手动同步,每次我想同步我都是运行下一行:
rsync -r /home/stuff root@123.0.0.99/home
我想知道是否有一种方法可以将 rsync 配置为自动同步,每隔一段时间或者最好是在主目录中有子目录的新文件时?
感谢您的帮助。
任何帮助将不胜感激。
如果你想每隔一段时间 rsync,你可以使用 cronjobs
,它可以配置为 运行 每次特定的命令,如果你想 运行 rsync 当有更新或修改时可以使用lsyncd
。检查 this article 关于使用 lsyncd
更新:
由于链接可能会过时,我将添加这个简短的示例(您可以自由修改最适合您的内容):
首先在源机器上创建一个 ssh 密钥,然后在目标机器上的 ~/.ssh/authorized_keys
文件中添加 public 密钥。
在源机器中使用以下内容更新此文件~/.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,
}
}
...
您可以设置每小时一次的 cron 作业来执行此操作。
rsync 本身非常有效,因为它只传输更改。
您可以在此处找到有关 cron 的更多信息:cron
我有两台机器,都是 运行 linux 上的 centos 7。 我已经在它们上都安装了 rsync 包,我可以将一个目录从一台机器同步到另一台机器。
现在我正在手动同步,每次我想同步我都是运行下一行:
rsync -r /home/stuff root@123.0.0.99/home
我想知道是否有一种方法可以将 rsync 配置为自动同步,每隔一段时间或者最好是在主目录中有子目录的新文件时?
感谢您的帮助。 任何帮助将不胜感激。
如果你想每隔一段时间 rsync,你可以使用 cronjobs
,它可以配置为 运行 每次特定的命令,如果你想 运行 rsync 当有更新或修改时可以使用lsyncd
。检查 this article 关于使用 lsyncd
更新: 由于链接可能会过时,我将添加这个简短的示例(您可以自由修改最适合您的内容):
首先在源机器上创建一个 ssh 密钥,然后在目标机器上的 ~/.ssh/authorized_keys
文件中添加 public 密钥。
在源机器中使用以下内容更新此文件~/.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,
}
}
...
您可以设置每小时一次的 cron 作业来执行此操作。 rsync 本身非常有效,因为它只传输更改。 您可以在此处找到有关 cron 的更多信息:cron