實時同步lsyncd


實時同步lsyncd

1 lsyncd

1.1 lsyncd 簡介

Lsyncd使用文件系統事件接口(inotify或fsevents)來監視對本地文件和目錄的更改。Lsyncd將這些事件整理幾秒鍾,然后生成一個或多個進程以將更改同步到遠程文件系統。
默認同步方法是rsync Lsyncd是一種輕量級的實時鏡像解決方案。Lsyncd相對容易安裝,不需要新的文件系統或塊設備。Lysncd不會妨礙本地文件系統性能,可以通過配置文件實現細粒度的自定義。自定義操作配置甚至可以從頭開始編寫,從shell腳本到用Lua語言編寫的代碼。

1.2 環境准備

rsync服務端:默認就有rsync無需安裝
lsyncd客戶端:安裝lsyncd軟件


在這里,備份服務器為服務端,存儲服務器為客戶端

[root@nfs ~]#yum install -y lsyncd

1.3 rsync配置文件

backup配置文件

[root@backup ~]#cat /etc/rsyncd.conf 
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup

1.4 創建虛擬用戶rsync

id rsync		#查看以下是否有rsync這個用戶
useradd rsync -M -s /sbin/nologin		#創建rsync虛擬用戶

1.5 創建密碼文件並修改訪問權限為600

echo "rsync_backup:123456" >/etc/rsync.password
chmod 600 /etc/rsync.password			#只能root用戶才能查看密碼

1.6 創建備份目錄/修改目錄屬主和屬組信息

mkdir /backup
chown rsync.rsync /backup

1.7 啟動服務程序/重啟服務程序

systemctl start rsyncd
systemctl restart rsyncd
systemctl enable  rsyncd

1.8 lsyncd配置文件

lsyncd配置文件

root@nfs ~]#cat /etc/lsyncd.conf 
settings {
 logfile = "/var/log/lsyncd/lsyncd.log",
 statusFile = "/var/log/lsyncd/lsyncd.status",
 inotifyMode = "CloseWrite",
 maxProcesses = 8,
}
sync {
 default.rsync,
 source = "/data",
 target = "rsync_backup@172.16.1.41::backup",
 delete= true,
 exclude = { ".*" },
 delay = 1,
rsync = {
 binary = "/usr/bin/rsync",
 archive = true,
 compress = true,
 verbose = true,
 password_file = "/etc/rsync.password",
 _extra = {"--bwlimit=200"}
}
}

1.9 存儲服務器創建備份的目錄

mkdir /data

1.10 創建密碼文件,並修改權限

echo "123456" >/etc/rsync.password  #創建密碼文件
chmod 600 /etc/rsync.password

1.11免交互式傳輸密碼文件

rsync -avz /etc/passwd rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

執行上述命令出現下圖,則證明部署服務成功
image.png

1.12 存儲服務器進行測試

[root@nfs data]#touch test.txt
[root@nfs data]#ls
test.txt
++++++++++++++++++++++++++++++
[root@backup backup]#ls
test.txt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM