歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux rsync安裝配置

rsync安裝

[code]# 檢查是否安裝過rsync, 如果已經安裝過需要卸載
rpm -qa|grep rsync
# 安裝了rsync 卸載
rpm -e rsync
# 下載最新rpm包(注意操作系統和位數的匹配) 
# rsync的rpm包列表地址:http://pkgs.repoforge.org/rsync
wgethttp://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
# 雲安裝
yum install rsync

rsync服務端配置

啟動配置

選擇rsync服務器啟動方式rsync服務器負載比較高,則使用獨立啟動模式rsync服務器負責較低,使用xinetd運行方式創建配置文件rsyncd.conf對於非匿名方式訪問的rsync服務器創建配置口令(建議配置需要口令訪問)CentOS 默認以xinetd模式運行rsync,rsync的xinetd配置文件是/etc/xinetd.d/rsync如果配置rsync以xinetd模式運行,執行如下命令
[code]chkconfig 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服務器啟動時的參數如果使用獨立運行模式,則執行如下命令
[code]/usr/bin/rsync --daemon
#編輯 /etc/rc.local文件 加入 /usr/bin/rsync --daemon 保證每次開機啟動都會自動啟動rsync服務

配置文件

[code]# 創建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
配置文件語法介紹模塊以[模塊名稱]開始參數配置行格式 name = value其中 value的值可以是string(可以不使用引號)或者boolean(0/1,true/false,yes/no)以#開始是注釋行以\是續行符全局參數([模塊名稱]之外的配置均為全局配置)address在獨立運行時,用於指定的服務器運行的 IP 地址。由 xinetd 運行時將忽略此參數,使用命令行上的 –address 選項替代默認值 本地所有IPport指定 rsync 守護進程監聽的端口號。 由 xinetd 運行時將忽略此參數,使用命令行上的–port 選項替代。默認值是 873motd file指定一個消息文件,當客戶連接服務器時該文件的內容顯示給客戶。默認值無pid filersync 的守護進程將其 PID 寫入指定的文件。默認值 無log file指定 rsync 守護進程的日志文件,而不將日志發送給 syslog。默認值 無syslog facility指定 rsync 發送日志消息給 syslog 時的消息級別默認值 daemonsocket options指定自定義 TCP 選項。默認值無模塊參數模塊參數主要用於定義 rsync 服務器哪個目錄要被同步。模塊聲明的格式必須為 [module] 形式,這個名字就是在 rsync 客戶端看到的名字,類似於 Samba 服務器提供的共享名。而服務器真正同步的數據是通過 path 來指定的。可以根據自己的需要,來指定多個模塊,模塊中可以定義以下參數:基本模塊參數path指定當前模塊在 rsync 服務器上的同步路徑,該參數是必須指定的comment給模塊指定一個描述,該描述連同模塊名在客戶連接得到模塊列表時顯示給客戶模塊控制參數use chroot若為 true,則 rsync 在傳輸文件之前首先 chroot 到 path 參數所指定的目錄下。這樣做的原因是實現額外的安全防護,但是缺點是需要 root 權限,並且不能備份指向 path 外部的符號連接所指向的目錄文件。默認值trueuid指定該模塊以指定的 UID 傳輸文件。默認值 nobodygid指定該模塊以指定的 GID 傳輸文件。默認值 nobodymax connections定該模塊的最大並發連接數量以保護服務器,超過限制的連接請求將被告知隨後再試。默認值 0 不限制read only指定是否允許客戶上傳文件。若為 true 則不允許上傳;若為 false 並且服務器目錄也具有讀寫權限則允許上傳。默認值 truewrite only指定是否允許客戶下載文件。若為 true 則不允許下載;若為 false 並且服務器目錄也具有讀權限則允許下載。默認值 false模塊認證參數hosts allow用一個主機列表指定哪些主機客戶允許連接該模塊。不匹配主機列表的主機將被拒絕默認值 *

客戶主機列表定義可以是以下形式:

單個IP地址 例如:192.168.0.1整個網段 例如:192.168.0.0/24,192.168.0.0/255.255.255.0可解析的單個主機名 例如:centos,centos.bsmart.cn域內的所有主機 例如:.bsmart.cn“”則表示所有。多個列表項要用空格間隔。hosts deny用一個主機列表指定哪些主機客戶不允許連接該模塊。默認值 空auth users指定由空格或逗號分隔的用戶名列表,只有這些用戶才允許連接該模塊。這裡的用戶和系統用戶沒有任何關系。用戶名和口令以明文方式存放在 secrets file 參數指定的文件中默認匿名secrets file指定一個 rsync 認證口令文件。只有在 auth users 被定義時,該文件才起作用。默認值 空strict modes指定是否監測口令文件的權限。若為 true 則口令文件只能被 rsync 服務器運行身份的用戶訪問,其他任何用戶不可以訪問該文件。默認值 true> - rsync 認證口令文件的權限一定是 600,否則客戶端將不能連接服務器。 rsync 認證口令文件中每一行指定一個 用戶名:口令 對,格式為:username:passwd一般來說口令最好不要超過8個字符。若您只配置匿名訪問的 rsync 服務器,則無需設置上述參數。配置文件實例
[code]
# GLOBAL OPTIONS
uid = root                         
gid = root                                  

use chroot = no                     

read only = yes                            

#limit access to private LANs
hosts allow=*
hosts deny=*                                
max connections = 5                      

pid file = /var/run/rsyncd.pid             

secrets file = /etc/rsyncd/rsyncd.passwd   
#lock file = /var/run/rsync.lock           

#motd file = /etc/rsyncd/rsyncd.motd        

#This will give you a separate log file
log file = /data/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
[uploadhome]                               
path = /data/home/upload                       
list=yes                                   
ignore errors                              
auth users = lake                          
comment = lake home
密碼文件
[code]lake:123456             #格式   用戶名:口令               #該用戶不要求是系統用戶
查看rsync服務是否啟動netstat -an | grep 873

rsync 客戶端

[code]# 安裝客戶端
yum -y install rsync
# 同步命令
# -a 參數,相當於-rlptgoD
#   -r 是遞歸 -l 是鏈接文件,意思是拷貝鏈接文件;-p 表示保持文件原有權限
#   -t 保持文件原有時間;-g 保持文#件原有用戶組;-o 保持文件原有屬主;-D 相當於塊設備文件
# -z 傳輸時壓縮;
# -P 傳輸進度;
# -v 傳輸時的進度等信息,和-P有點關系,自己試試。可以看文檔;
# 同步
rsync -avzP [email protected]::uploadhome  /data/home/upload
# 客戶端數據和服務器端數據保持一致
rsync -avzP  --delete
[email protected]::uploadhome  /data/home/upload
[code]# 指定傳輸時候的密碼文件,密碼文件權限 600
rsync -avzP  --delete  --password-file=/etc/rsync.password  [email protected]::uploadhome  /data/home/upload
[code]
[/code]rsync -avzP [email protected]::uploadhome  /data/home/upload/rsync -avzP [email protected]::fbarun  /data/home/run/fba_run/rsync -avzP [email protected]::soft  /data/home/soft/
				
			
			
			
Copyright © Linux教程網 All Rights Reserved