1. 程式人生 > 實用技巧 >同步工具Rsync學習筆記

同步工具Rsync學習筆記

一、RSYNC介紹。

全稱Remote Rynchronization。

可以用於主機之間快速複製同步映象和遠端備份,類似於SCP命令,但又優於SCP命令,可以增量拷貝。

同時又類似於CP命令,用於本地不同分割槽或目錄之間的全量或者增量拷貝。

還能實現刪除檔案和目錄的功能,類似於RM命令。


二、RSYNC特性。

1. 支援拷貝特殊型別檔案如裝置,連結檔案。

2. 可以排除指定檔案或目錄,相當於TAR打包時的排除。

3. 可以保持原檔案的屬性不變,如屬主、屬組、修改時間、軟硬連結,許可權等等。

4. 可以實現增量備份,備份效率遠高於SCP全量拷貝。

5. 可以使用RCP、RSH、SSH通道來傳輸檔案。

6. 可以通過SOCKET程序方式傳輸檔案。

7. 支援匿名或者認證使用者(非系統使用者)的程序模式傳輸。


三、常見企業生產場景應用

1. 伺服器之間的資料備份。

2. 結合inotify實現資料實時同步。

3. 備份全網資料到一臺固定的備份儲存伺服器。


四、安裝部署配置實戰演練

1. 本地備份

wKioL1ZF23vzm--dAAA9xJisQyA170.jpg

2. RSYNC保持檔案所有屬性的引數 -avz

wKiom1ZF3FazY7xGAAC55ppG5E8745.jpg


3. RSYNC實現刪除

其實是一種排除刪除,也可以說是刪除複製,排除指定目錄內同樣的檔案,刪除其它,如果指定目錄為空目錄,則刪除所有。注意指定目錄後需接/,並且該刪除方式只跟指定目錄內的檔案內容有關,跟目錄名無關。

wKioL1ZF3hPggYHeAAKLFEz4awI728.jpg

4. RSYNC通道推拉,使用-e引數指定通道。

wKioL1ZF4C3hkf-0AAGr14kPiyg783.jpg

5. RSYNC引數詳解

-v 詳細進度

-z 壓縮傳輸

-a 歸檔模式,以遞迴方式傳輸,保持檔案屬性。


6. RSYNC程序模式演練

實驗環境:

192.168.0.31 NFS伺服器作為RSYNC的伺服器,接收192.168.0.21NGINX伺服器和192.168.0.90MYSQL資料庫的資料同步。

RSYNC程序的預設配置檔案不存在,手動建立,vim /etc/rsyncd.conf


################################################################

uid = rsync

gid = rsync

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

[asling]

path = /home/data-asling

ignore errors

read only = false

list = false

hosts allow = 192.168.0.0/24

hosts deny = 192.168.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

#################################################################

wKiom1ZF7QSzyiWQAAFybWLbR70905.jpg


啟動程序模式的RSYNC,命令rsync --daemon

wKiom1ZF7pqjtr3-AAAhzHwxQGk358.jpg


增加使用者和密碼,並設定密碼檔案許可權為600.

wKioL1ZF8H-QuTBkAAA4ip5M2W4509.jpg


客戶端只需存在RSYNC軟體即可,配置etc/password密碼:

此處無需使用者名稱,配置完成後密碼檔案修改許可權為600.

echo "123456" > /etc/rsync.password


客戶端拉取服務端例項(輸入密碼方式)

wKiom1ZF-WfBDbsiAACQ6IR-k_o009.jpg

使用密碼檔案時需要指定密碼檔案,使用引數--password-file=/path

wKiom1ZF-grjU3jSAAE5FwNEbXI524.jpg


五、企業級應用實戰

1. 客戶端排除打包

使用--exclude=方式排除

wKiom1ZGEtbQqSuvAACESHZTtZ4619.jpg

wKioL1ZGFBvglLmqAAB-xLSmRHY689.jpg

使用--exclude-from=方式排除

wKiom1ZGFYPQcM_jAAFeq2eqAR8457.jpg



2. 服務端排除打包

使用--exclude=方式排除

wKiom1ZGFxzz-_ygAAE7qsrnhZo126.jpg

wKioL1ZGF2mCQU4KAACMDvhAxAQ274.jpg


3. 企業重要應用:無差異同步(--delete引數的使用)

高風險操作!慎用!

1. 客戶端排除打包

4. 共享多個目錄

將相同引數放到模組之外。

wKiom1ZGHobA7W0lAAErJicgCGY583.jpg


轉載於:https://blog.51cto.com/xiangpang/1712644