安裝Rsync文件同步服務(wù)
uBuntu系統(tǒng)默認(rèn)安裝Rsync服務(wù)瘤泪,查看幫助文檔:
# rsync -h
本地文件夾同步命令:
# rsync -auvrtzopgP --progress /root/ /tmp/rsync_bak/
同步到遠(yuǎn)程服務(wù)器
在服務(wù)器間rsync傳輸文件萍悴,需要有一個(gè)是開著rsync的服務(wù)闰围,而這一服務(wù)需要兩個(gè)配置文件外恕,說明當(dāng)前運(yùn)行的用戶名和用戶組媚赖,這個(gè)用戶名和用戶組在改變文件權(quán)限和相關(guān)內(nèi)容的時(shí)候有用漏隐,否則有時(shí)候會(huì)出現(xiàn)提示權(quán)限問題。配置文件也說明了模塊信认、模塊化管理服務(wù)的安全性材义,每個(gè)模塊的名稱都是自己定義的,可以添加用戶名密碼驗(yàn)證嫁赏,也可以驗(yàn)證IP其掂,設(shè)置目錄是否可寫等,不同模塊用于同步不同需求的目錄潦蝇。
/etc/rsyncd.conf:
uid=0
gid=0
use chroot=no
#有多少個(gè)客戶端同時(shí)傳文件
max connections=10
#超時(shí)時(shí)間
timeout=600
strict modes=yes
port=873
#進(jìn)程號(hào)文件
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
#日志文件
log file=/var/log/rsyncd.log
[cxnt2]
path=/mnt/shared
comment=rsync for cxnt2 shared folder
auth users=cxnt2
uid=cxnt2
gid=cxnt2
secrets file=/etc/rsyncd.secrets
read only=yes
list=no
hosts allow=192.168.100.59
/etc/rsyncd.secrets:
cxnt2:cxnt*898
一行一個(gè)用戶款熬,用戶名:密碼。請注意這里的用戶名和密碼與操作系統(tǒng)的用戶名密碼無關(guān)攘乒,可以隨意指定贤牛,與/etc/rsyncd.conf中的auth users對應(yīng)。
修改權(quán)限:
chmod 600 /etc/rsyncd.secrets
檢查服務(wù)端是否啟動(dòng):
root@ubuntu:/mnt# ps -elf | grep rsync
0 S root 1819 1595 0 80 0 - 2619 pipe_w 11:35 pts/0 00:00:00 grep --color=auto rsync
啟動(dòng)rysnc服務(wù):
root@ubuntu:/mnt# rsync --daemon
root@ubuntu:/mnt# ps -elf | grep rsync
5 S root 1821 1 0 80 0 - 3688 poll_s 11:36 ? 00:00:00 rsync --daemon
0 S root 1829 1595 0 80 0 - 2619 pipe_w 11:37 pts/0 00:00:00 grep --color=auto rsync
客戶端測試同步
單向同步時(shí)则酝,客戶端只需要一個(gè)包含密碼的文件殉簸。/etc/rsync_client.pwd:
cxnt*898
設(shè)置密碼文件權(quán)限(至關(guān)重要,密碼文件權(quán)限不對會(huì)造成異常:@ERROR: auth failed on module XXx)
chmod 600 /etc/rsync_client.pwd
# /usr/bin/rsync -auvrtzopgP --progress --password-file=/etc/rsync_client.pwd cxnt2@192.168.100.62::cxnt2 /mnt/shared
安裝Inotify-tools工具沽讹,實(shí)時(shí)觸發(fā)rsync進(jìn)行同步
查看內(nèi)核是否支持inotify
列出文件目錄般卑,出現(xiàn)下面的內(nèi)容,說明服務(wù)器內(nèi)核支持inotify, 備注:Linux下支持inotify的內(nèi)核最小為2.6.13妥泉,可以輸入命令:uname -a查看內(nèi)核。
root@ubuntu:/opt# ll /proc/sys/fs/inotify
total 0
dr-xr-xr-x 1 root root 0 Apr 1 14:13 ./
dr-xr-xr-x 1 root root 0 Apr 1 14:07 ../
-rw-r--r-- 1 root root 0 Apr 1 14:13 max_queued_events
-rw-r--r-- 1 root root 0 Apr 1 14:13 max_user_instances
-rw-r--r-- 1 root root 0 Apr 1 14:13 max_user_watches
安裝inotify-tools
在代碼(主)服務(wù)器(192.168.1.61)上安裝inotify洞坑,執(zhí)行如下命令
apt-get install inotify-tools