介紹 web
rsync(remote sync)是unix及類unix平臺下的數據鏡像備份軟件,它不像FTP那樣須要全備份,rsync能夠根據數據的變化進行差別備份,從而減小數據流量,提升工做效率 vim
rsync主要分爲三個配置文件,分別是rsyncd.conf(主配置文件),rsyncd.secrets(密碼文件),rsyncd.motd(服務器信息文件) centos
環境 安全
centos7 服務器
IP:192.168.10.130 做爲rsync服務器 併發
centos7 tcp
IP:192.168.10.132 做爲rsync客戶端 ide
服務端配置步驟 ui
rsync在centos7中是默認安裝好了的,咱們直接開始修改配置文件。 centos7
# vim /etc/rsyncd.conf
主配置文件說明
vim /etc/rsyncd.conf
motd file = /etc/rsyncd.motd #設置服務器信息提示文件,在該文件中編寫提示信息
transfer logging = yes #開啓rsync數據傳輸日誌功能
log file = /var/log/rsyncd.log #設置日誌文件名,可經過log format參數設置日誌格式
pid file = /var/run/rsyncd.log #設置rsync進程號保存文件名稱
lock file = /var/run/rsync.lock #設置鎖文件名稱
port = 873 #設置服務器監聽的端口號,默認是873
address = 192.168.0.230 #設置本服務器所監聽網卡接口的ip地址
uid = nobody #設置進行數據傳輸時所使用的賬戶名或ID號,默認使用nobody
gid = nobody #設置進行數據傳輸時所使用的組名或GID號,默認使用nobody
#若爲yes, rsync會首先進行chroot設置,將根映射在下面的path參數路徑下,對客戶端而言,系統的根就是path參數指定的路徑。但這樣作須要root權限,而且在同步符號鏈接資料時只會同步名稱,不會同步內容。
use chroot = no
read only = yes #是否容許客戶端上傳數據,yes表示不容許
max connections =10 #設置併發鏈接數,0表示無限制
[common] #自定義模塊名,rsync經過模塊定義同步的目錄,可定義多個
comment = web content #定義註釋說明字串
path = /common #同步目錄的真是路徑經過path指定
ignore errors #忽略一些IO錯誤
#exclude = test/ #exclude指定common目錄下某個目錄能夠不一樣步數據
auth users = zzz #設置容許鏈接服務器的帳戶,此帳戶能夠是系統中不存在的用戶
secrets file = /etc/rysncd_users.db #密碼驗證文件名,該文件權限要求爲只讀,建議爲600,僅在設置auth users後有效
hosts allow = 192.168.0.0/255.255.255.0 #設置哪些主機能夠同步數據,多ip和網段之間使用空格分隔
hosts deny=* #除了hosts allow定義的主機外,拒絕其餘全部
list = false #客戶端請求顯示模塊列表時,本模塊名稱是否顯示,默認爲true
防火牆安全設置
#firewall-cmd --permanent --add-port=873/tcp #添加防火牆規則,容許873端口的數據訪問
#setenforce 0
安裝http服務
# yum install httpd –y
建立密碼文件
#echo "zzz:123" > /etc/rsyncd_users.db
保證密碼文件的安全
#chmod 600 /etc/rsyncd_users.db
開啓服務
#rsync –daemon # --daemon表示後臺執行,客戶端開啓rsync不須要--daemon選項
echo "/usr/bin/rsync --daemon" >> /etc/rc.local #開機啓動rsync服務
客戶端同步數據
yum -y install rsync
rsync -vzrtopg --progress zzz@192.168.10.130::wwwroot /test #通wwwroot模塊指定的目錄下的文件拷貝到本客戶端的/test目錄下
參數說明
v:顯示詳細信息
z:傳輸過程當中對數據進行壓縮
r:遞歸
t:保留修改時間屬性
o:保留文件全部者屬性
p:保留文件權限屬性
g:保留文件所屬組屬性
a:歸檔模式,主要保留文件屬性,等同於-rlptgoD
--progress:顯示數據傳輸的進度信息
--password-file=FILE:指定密碼文件,將密碼寫入文件,實現非交互式數據同步,這個文件名也須要修改權限爲600
--delete:刪除那些僅在目標路徑中存在的文件(源路徑中不存在),在腳本中的數據同步常常加上此參數
--list-only:僅列出服務器模塊列表,須要rsync服務器設置list=true