bash# 檢查是否安裝過rsync, 若是已經安裝過須要卸載 rpm -qa|grep rsync # 安裝了rsync 卸載 rpm -e rsync # 下載最新rpm包(注意操做系統和位數的匹配) # rsync的rpm包列表地址:http://pkgs.repoforge.org/rsync wget http://pkgs.repoforge.org/rsync/rsync-3.1.1-1.el6.rfx.x86_64.rpm # rpm包安裝 rpm -ivh rsync-3.1.1-1.el6.rfx.x86_64.rpm
CentOS 默認以xinetd模式運行rsync,rsync的xinetd配置文件是/etc/xinetd.d/rsync
若是配置rsync以xinetd模式運行,執行以下命令centos
bashchkconfig rsync on service xinetd restart # 若是執行 service xinetd restart 發現 xinetd: unrecognized service 則未安裝xinetd服務 # 執行 yum install xinetd 安裝 xinetd服務 # 安裝以後啓動 xinetd服務(service xinetd start)
編輯rsync的xinetd配置文件/etc/xinetd.d/rsync文件,修改參數 server_args = --daemon --config=/etc/rsyncd/rsyncd.conf
能夠配置rsync服務器啓動時的參數安全
若是使用獨立運行模式,則執行以下命令bash
bash/usr/bin/rsync --daemon #編輯 /etc/rc.local文件 加入 /usr/bin/rsync --daemon 保證每次開機啓動都會自動啓動rsync服務
bash# 建立rsync服務目錄 mkdir /etc/rsyncd # 建立配置文件 touch /etc/rsyncd/rsyncd.conf # 建立密碼文件 touch /etc/rsyncd/rsyncd.passwd #權限修改 chown root:root /etc/rsyncd/rsyncd.passwd chmod 600 /etc/rsyncd/rsyncd.passwd
配置文件語法介紹服務器
全局參數([模塊名稱]以外的配置均爲全局配置)併發
模塊參數
模塊參數主要用於定義 rsync 服務器哪一個目錄要被同步。模塊聲明的格式必須爲 [module] 形式,這個名字就是在 rsync 客戶端看到的名字,相似於 Samba 服務器提供的共享名。而服務器真正同步的數據是經過 path 來指定的。能夠根據本身的須要,來指定多個模塊,模塊中能夠定義如下參數:socket
模塊控制參數ui
模塊認證參數操作系統
客戶主機列表定義能夠是如下形式:
單個IP地址 例如:192.168.0.1
整個網段 例如:192.168.0.0/24,192.168.0.0/255.255.255.0
可解析的單個主機名 例如:centos,centos.bsmart.cn
域內的全部主機 例如:.bsmart.cn
「」則表示全部。
多個列表項要用空格間隔。命令行
配置文件實例rest
bash# GLOBAL OPTIONS uid = root gid = root use chroot = no read only = yes #limit access to private LANs hosts allow=172.16.0.0/255.255.0.0 192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0 hosts deny=* max connections = 5 pid file = /var/run/rsyncd.pid secrets file = /etc/rsyncd/rsyncd.secrets #lock file = /var/run/rsync.lock #motd file = /etc/rsyncd/rsyncd.motd #This will give you a separate log file #log file = /var/log/rsync.log #This will log every file transferred - up to 85,000+ per user, per sync transfer logging = yes log format = %t %a %m %f %b syslog facility = local3 timeout = 300 # MODULE OPTIONS [davidhome] path = /home/david/ list=yes ignore errors auth users = david comment = David home exclude = important/ [chinatmp] path = /tmp/china/ list=no ignore errors auth users = china comment = tmp_china
密碼文件
shdavid:asdf #格式 用戶名:口令 china:jk #該用戶不要求是系統用戶
查看rsync服務是否啓動
netstat -an | grep 873
bash# 安裝客戶端 yum -y install rsync # 同步命令 # -a 參數,至關於-rlptgoD # -r 是遞歸 -l 是連接文件,意思是拷貝連接文件;-p 表示保持文件原有權限 # -t 保持文件原有時間;-g 保持文#件原有用戶組;-o 保持文件原有屬主;-D 至關於塊設備文件 # -z 傳輸時壓縮; # -P 傳輸進度; # -v 傳輸時的進度等信息,和-P有點關係,本身試試。能夠看文檔; # 同步 rsync -avzP david@172.16.1.135::davidhome /tmp/david/ # 客戶端數據和服務器端數據保持一致 rsync -avzP --delete david@172.16.1.135::davidhome /tmp/david/ # 指定傳輸時候的密碼文件,密碼文件權限 600 rsync -avzP --delete --password-file=/tmp/rsync.password david@172.16.1.135::davidhome /tmp/david/