Linux

通過網際網路設置 rsync。我應該如何定義它?

  • August 13, 2012

我需要同步遠端位置的兩台 Linux 伺服器。為此,我決定使用 rsync。

我已將 rsync 設置為在目標上作為守護程序執行,並且實際的同步命令是從源執行的。我想問一下這是否是 rsync(目標守護程序,源命令)的正確設置。我應該如何執行同步命令 - 使用 crontab 或 xinet 還是應該使用某種文件偵聽器,僅在文件更改後才會同步?

這種安排非常好,但我們無法知道您提出的任何問題是否是適合情況的最佳解決方案。你應該如何執行命令?但是*,您確定最適合您的*需求。

在你的計劃中有一個小問題。如果有人可以訪問您的源伺服器,那麼他將能夠銷毀源和目標中的所有數據,因為他可以在刪除源伺服器上的所有文件後執行腳本進行同步。

更好的是在您的源中創建 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 中以同步數據。

引用自:https://serverfault.com/questions/416875