linux - 使 rsync 永久运行

标签 linux rsync

我有两台机器,都运行在带有 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/

相关文章:

node.js - 使本地文件夹与远程 FTP 文件夹保持同步

jenkins - 从 jenkins shell 脚本运行 rsync

linux - 在 bash 脚本中切换焦点

linux - glibc 2.14安装错误selinux.c : error: libaudit. h没有这样的文件或目录

linux - PHP项目,linux配置

ssh - 如何为 rsync SSH 命令自动传递密码?

c - 在 Linux 中设置系统时区

C++ - 模板类 -> 静态函数 -> 静态函数指针的链接错误

git 将未更改的文件标记为已更改

ssh - rsync 到远程位置退出并显示代码 12