通过互联网设置 rsync。我应该如何定义它?

通过互联网设置 rsync。我应该如何定义它?

我需要同步远程位置的两个 Linux 服务器。为此,我决定使用 rsync。

我已将 rsync 设置为在目标上运行守护程序,实际的同步命令从源运行。我想问这是否是 rsync 的正确设置(目标守护程序,源命令)。我应该如何运行同步命令 - 使用 crontab 或 xinet,还是应该使用某种仅在文件更改后同步的文件侦听器?

答案1

这种安排完全没问题,但我们无法知道你所问的问题是否是最佳解决方案你的情况。您应该如何运行该命令?然而确定最佳搭配你的需求。

答案2

您的计划中有一个小问题。如果有人访问了您的源服务器,那么他将能够销毁源和目标中的所有数据,因为他可以在删除源服务器上的所有文件后运行脚本进行同步。

更好的方法是在你的源服务器上创建 rsync 服务器(例如通过 xinetd,在 centos 上安装 xinetd 非常简单,编辑 /etc/xinetd.d/rsync 并将行 disable = yes 更改为 disable = no,创建文件 /etc/rsyncd.conf 并在那里配置你的资源和秘密文件,重新启动 xinetd,在 iptables 中打开 rsync 端口,就这样)。为什么?因为如果你的目标服务器受到威胁,你在源服务器上的数据将是安全的(当然如果你的密码不同:)。在源服务器上,你只能以读取模式定义资源,并且只能由你的目标服务器访问。如果在源服务器上定义 iptables 中的规则以仅接受来自目标的连接,那就好了。好主意是在非默认端口上运行 rsync(再次在 centos 上,你可以通过编辑 /etc/services 来更改 rsync 服务器端口)。

之后您可以编写一个 bash 脚本并将其放在目标服务器的 crontab 中来同步数据。

相关内容