rsync 服務的安裝配置與客戶端的同步操做html
1. 使用xinetd服務運行rsync服務:linux
服務器端:web
1.關閉selinux,設置iptables開放xinetd的873端口數據庫
2. yum -y install rsync xinetdvim
3. vim /etc/xinetd.d/rsync服務器
4.將disable想改爲no # 這一步是打開rsync這個daemon,一旦有rsync client要鏈接時,xinetd會把它轉接給rsyncd,修改完後service xinetd restart,是配置生效。網站
5. mkdir /etc/rsyncd/ui
6.touch rsyncd.conf、touch rsyncd.motd、touch rsyncd.pass3d
7.ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.confrest
9.vim rsyncd.motd #這一步無關緊要,主要是起到提示做用
內容以下:
++++++++++++++++++++++++++++++++++++++
welcome to use the jack.org.cn rsync services
2016----2020
++++++++++++++++++++++++++++++++++++++
10.vim rsyncd.conf
內容以下:
配置的文件的粗略解釋:
uid必須是系統真實存在的用戶,表示使用哪一個用戶啓動這個進程,而下方backup模塊下的auth users 的用戶跟系統用戶沒有任何關係,你能夠隨便寫你想使用的名字。若是這個名字修改了,那麼/etc/rsyncd/rsyncd.pass相應的也要作相應的修改。
11.編寫用戶密碼文件
echo "root:logic123" > /etc/rsyncd/rsyncd.pass
12 chmod 600 /etc/rsyncd/rsyncd.pass
13. ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
14. service xinetd start #啓動xinetd服務
15. netstat -tunlp #查看進程佔用端口,啓動xinetd服務後有顯示873端口被xinetd佔用。
更改密碼文件的權限。
客戶端:
1.安裝rsync軟件。
2. yum -y install rsync
3. chmod 600 /etc/rsync.pas #這一步不可缺乏,否則會報錯。
4.在rsync服務器的backup模塊的目錄下:/home下建立一個文件。而後在客戶端運行下方的命令,就能夠把文件同步到本地了。能夠在crontab裏設置定時任務。利用這個咱們能夠作些數據的備份。好比定時備份數據庫文件、備份網站源代碼等。例如:
使用crontab定時備份數據:
一下命令是每隔2分鐘就把web模塊目錄下和backup模塊目錄下的文件同步到本地的/opt/目錄下
5.rsync -auv --password-file=/etc/rsync.pas root@172.16.52.92::backup /home/test/
6.將rsync服務器backup模塊下目錄裏的文件同步到本地/home/test/目錄下
2. 使用獨立的方式運行:
配置上的區別在於:獨立模式開啓服務的命令是:
1. /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf 而不是service xinetd start
使用這麼命令的前提是xinetd服務沒有啓動。否則的話,會出現端口衝突的狀況。固然若是把rsync的端口更改爲其餘端口就不會衝突了。
2. 開啓rsync服務以後,使用netstat -tunlp 能夠查看到佔用873端口的服務是rsync,而不是xinetd。
3 客戶端不須要改變。
如下貼幾個經常使用的rsync命令:
(1.) 把本地的/opt/html目錄與服務器的web模塊目錄徹底同步。
rsync -auv --password-file=/etc/rsync.pas --delete hengda@192.168.2.100::web /opt/html
(若是不想刪除本地/opt/html目錄下的現有的文件,請去掉--delete選項)
(2.)把本地目錄/opt/jack/目錄下的文件上傳到服務器backup模塊的目錄下
rsync -vzrtopg --progress --progress --password-file=/etc/rsync.pas /opt/jack/ hengda@172.16.52.177::backup
3. 如何開啓多個進程監聽多個端口
兩種方法:
(1)在第一個守護進程是xinetd的時候,可使用/usr/bin/rsync --daemon --port 80端口設置一個獨立進程來獨立監聽80端口,也可使用其餘端口。這種方法適用於大部分狀況。通常狀況下頂多監聽2個端口。也更省力。
(2)另外一種方法就是複製一份rsyncd.conf配置文件,而後修改配置文件的pid文件,不然啓動的時候會提示PID已存在。而後使用/usr/bin/rsync --daemon --config=/opt/rsyncd.conf --port 8080 這條命名必需要指定配置文件,否則的系統會使用默認的配置文件。
在客戶端使用同步命令的時候須要指定端口: