服务器设置和教程 · 6 10 月, 2024

CentOS 7 Rsync 服務搭建 – Rsync + Inotify 架構實現實時同步

CentOS 7 Rsync 服務搭建 – Rsync + Inotify 架構實現實時同步

在當今數據驅動的世界中,數據的實時同步變得越來越重要。無論是備份還是文件共享,Rsync 都是一個強大的工具。本文將介紹如何在 CentOS 7 上搭建 Rsync 服務,並結合 Inotify 實現實時同步。

什麼是 Rsync?

Rsync 是一個用於在本地和遠程系統之間高效同步文件的工具。它的主要特點是只傳輸變更的部分,這使得它在帶寬有限的環境中非常高效。Rsync 支持多種協議,包括 SSH 和 RSH,並且可以用於備份和鏡像。

什麼是 Inotify?

Inotify 是 Linux 核心的一個特性,允許應用程序監控文件系統事件。通過 Inotify,系統可以即時檢測到文件的創建、刪除或修改,這使得實時同步成為可能。

搭建 Rsync 服務

安裝 Rsync

首先,您需要在 CentOS 7 上安裝 Rsync。可以使用以下命令進行安裝:

sudo yum install rsync

配置 Rsync 服務

接下來,您需要配置 Rsync 服務。首先,創建一個配置文件:

sudo vi /etc/rsyncd.conf

在配置文件中,添加以下內容:

uid = nobody
gid = nobody
use chroot = no
max connections = 5
timeout = 300

[backup]
    path = /path/to/backup
    comment = Backup Directory
    read only = no
    list = yes
    auth users = backupuser
    secrets file = /etc/rsyncd.secrets

這裡的 [backup] 是一個模塊名,您可以根據需要進行修改。接下來,創建一個密碼文件:

sudo vi /etc/rsyncd.secrets

在文件中添加用戶名和密碼:

backupuser:password

確保文件的權限正確:

sudo chmod 600 /etc/rsyncd.secrets

啟動 Rsync 服務

使用以下命令啟動 Rsync 服務:

sudo rsync --daemon

結合 Inotify 實現實時同步

為了實現實時同步,我們可以使用 Inotify 來監控文件變更。首先,安裝 inotify-tools:

sudo yum install inotify-tools

接下來,創建一個監控腳本:

sudo vi /usr/local/bin/inotify-rsync.sh

在腳本中添加以下內容:

#!/bin/bash
SRC="/path/to/watch"
DEST="backupuser@remote_host::backup"

inotifywait -m -r -e modify,create,delete $SRC | while read path action file; do
    rsync -avz $SRC $DEST
done

確保腳本可執行:

sudo chmod +x /usr/local/bin/inotify-rsync.sh

運行監控腳本

最後,運行監控腳本以開始實時同步:

nohup /usr/local/bin/inotify-rsync.sh &

總結

通過以上步驟,您可以在 CentOS 7 上成功搭建 Rsync 服務並結合 Inotify 實現實時同步。這種架構不僅高效,還能確保數據的即時更新,對於需要頻繁備份或文件共享的用戶來說,無疑是一個理想的解決方案。如果您需要更多有關 香港VPS 的資訊,請訪問我們的網站。