rsync 服務的安裝配置與客戶端的同步操作
1. 使用xinetd服務運行rsync服務:
服務器端:
1.關閉selinux,設置iptables開放xinetd的873端口
2. yum -y install rsync xinetd
3. vim /etc/xinetd.d/rsync
4.將disable想改成no # 這一步是打開rsync這個daemon,一旦有rsync client要連接時,xinetd會把它轉接給rsyncd,修改完后service xinetd restart,是配置生效。
5. mkdir /etc/rsyncd/
6.touch rsyncd.conf、touch rsyncd.motd、touch rsyncd.pass
7.ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
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 這條命名必須要指定配置文件,不然的系統會使用默認的配置文件。
在客戶端使用同步命令的時候需要指定端口: