LINUX 下安裝RSYNC


一、服務器端配置:
1、安裝xinetd,並修改rsync相關配置
# yum -y install xinetd
# vi /etc/xinetd.d/rsync
如下代碼:
service rsync
{
        disable = yes
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}
將disable = yes改成disable = no
然后重啟xinetd
# /etc/init.d/xinetd restart
[
  注:如果服務器上裝有防火牆,需要打開端口,默認端口是873
  # telnet 127.0.0.1 873
  Trying 127.0.0.1...
  telnet: connect to address 127.0.0.1: Connection refused
  # iptables -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 873 -j ACCEPT
  # iptables -A INPUT -p tcp -m tcp --dport 873 -j DROP
]
 
2、編寫rsync.conf配置文件
# vi /etc/rsyncd.conf
內容如下:
port=873
uid = nobody
gid = nobody
user chroot = no
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
 
[www]
path = /home/www
ignore errors
read only = no
list = no
hosts allow = 192.168.1.0/255.255.255.0 設置允許訪問的ip 可以為*(所有)
auth users = root
secrets file = /etc/rsyncd.secrets
 
注釋:
port  #開放端口
uid = nobody  #進行備份的用戶UID,nobody為任何用戶
gid = nobody  #進行備份的組GID,nobody為任意組
use chroot = no  #如果"use chroot"指定為true,那么rsync在傳輸文件以前首先chroot到path參數所指定的目錄下。這樣做的原因是實現額外的安全防護,但是缺 點是需要以root權限,並且不能備份指向外部的符號連接所指向的目錄文件。默認情況下chroot值為true。但是這個一般不需要,所以我選擇no或 false
list = no  #不允許列清單
max connections = 200 #最大連接數
timeout = 600 #覆蓋客戶指定的IP超時時間,也就是說rsync服務器不會永遠等待一個崩潰的客戶端。
pidfile = /var/run/rsyncd.pid  #pid文件的存放位置
lock file = /var/run/rsync.lock  #鎖文件的存放位置
log file = /var/log/rsyncd.log  #日志文件的存放位置
 
[backup]  #這里是認證模塊名,即跟samba語法一樣,是對外公布的名字
path = /home/www  #這里是參與同步的目錄
ignore errors  #可以忽略一些無關的IO錯誤
read only = no  #允許可讀可寫
list = no  #不允許列清單
hosts allow = 192.168.1.0/255.255.255.0  #這里跟samba的語法是一樣的,只允許192.168.1.0/24的網段進行同步,拒絕其它一切IP
auth users = admin  #認證的用戶名
secrets file = /etc/rsyncd.secrets  #密碼文件存放地址
 
注意:對於這個地方的配置文件,雖然解釋的很清楚,可是一些朋友始終還會在這里出錯,這里我提亮點易錯點:
[backup]是認證模塊名和 path = /var/www 是參與同步的目錄
這里的path 大家要記好了,這里不要隨便的一設置就直接完事,要知道這里是認證模塊的,以后從客戶機備份的數據會存儲在這里。
 
3、編寫用戶密碼文件
# vi /etc/rsyncd.secrets
root:1234789 #用戶名:密碼
 
4、給予只讀權限
# chown root:root /etc/rsyncd.secrets
# chmod 600 /etc/rsyncd.secrets

 

-rw------- (600) -- 只有屬主有讀寫權限。

-rw-r--r-- (644) -- 只有屬主有讀寫權限;而屬組用戶和其他用戶只有讀權限。

-rwx------ (700) -- 只有屬主有讀、寫、執行權限。

-rwxr-xr-x (755) -- 屬主有讀、寫、執行權限;而屬組用戶和其他用戶只有讀、執行權限。

-rwx--x--x (711) -- 屬主有讀、寫、執行權限;而屬組用戶和其他用戶只有執行權限。

-rw-rw-rw- (666) -- 所有用戶都有文件讀、寫權限。這種做法不可取。

-rwxrwxrwx (777) -- 所有用戶都有讀、寫、執行權限。更不可取的做法。

 

  以下是對目錄的兩個普通設定:

 

drwx------ (700) - 只有屬主可在目錄中讀、寫。

drwxr-xr-x (755) - 所有用戶可讀該目錄,但只有屬主才能改變目錄中的內容

 

  suid的代表數字是4,比如4755的結果是-rwsr-xr-x

  sgid的代表數字是2,比如6755的結果是-rwsr-sr-x

  sticky位代表數字是1,比如7755的結果是-rwsr-sr-t


 
5、創建目錄並修改所有者
# mkdir /home/www/
# chown -R nobody:nobody /home/www
 
6、啟動服務
# rsync --daemon
 
7、加入開機自啟動
# echo "rsync --daemon">> /etc/rc.local
 
二、Linux客戶端進行同步
1、客戶端默認好像已經裝了rsync,沒有的話裝下:
# yum -y install rsync
 
2、創建密碼文件
# vi /etc/rsyncd.passwd
文件內容如下(只包含密碼部分):
123456789
 
3、執行異步同步操作:
# /usr/bin/rsync -avz --progress --password-file=/etc/rsyncd.passwdroot@192.168.1.1::www /home/www


免責聲明!

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



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