rsync安裝過程

1、什麼是rsync算法

  rsync,remote synchronize顧名思意就知道它是一款實現遠程同步功能的軟件,它在同步文件的同時,能夠保持原來文件的權限、時間、軟硬連接等附加信息。 rsync是用 「rsync 算法」提供了一個客戶機和遠程文件服務器的文件同步的快速方法,並且能夠經過ssh方式來傳輸文件,這樣其保密性也很是好,另外它仍是免費的軟件。bash

2、架設rsync服務器服務器

  架設rsync 服務器比較簡單,寫一個配置文件rsyncd.conf 。文件的書寫也是有規則的,咱們能夠參照rsync.samba.org 上的文檔來作。固然咱們首先要安裝好rsync這個軟件才行;ssh

3、rsync的安裝;socket

1下載rsync軟件tcp

2)tar zxvf rsync-2.1.2.tar.gzui

3). cd rsync-xxx
./configure --prefix=/usr  ;make ;make install 加密

4、配置rsync server操作系統

一、啓動RSYNC
#vi /etc/xinetd.d/rsync 把原來的YES改爲NO
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}
隨系統啓動RSYNC
  #chkconfig rsync onrest


二、配置/etc/rsyncd.conf(須要手動生成)
   rsyncd.conf的參數寫在上邊就是全局參數和寫在模塊裏的就是模塊參數
#vi /etc/rsyncd.conf 全局參數
uid = root                                   //運行RSYNC守護進程的用戶
gid = root                                   //運行RSYNC守護進程的組
use chroot = no                             //不使用chroot
max connections = 4                         // 最大鏈接數爲4
strict modes =yes                          //是否檢查口令文件的權限
port = 873                                //默認端口873
          
模塊參數
[backup]                       //這裏是認證的模塊名,在client端須要指定
path = /home/backup/           //須要作鏡像的目錄,不可缺乏!
comment = This is a test       //這個模塊的註釋信息 
ignore errors                  //能夠忽略一些無關的IO錯誤
read only = yes               // 只讀
list = no                     //不容許列文件
auth users = rsync          //認證的用戶名,若是沒有這行則代表是匿名,此用戶與系統無關
secrets file = /etc/rsync.pas           //密碼和用戶名對比表,密碼文件本身生成
hosts allow = 192.168.1.1,10.10.10.10      //容許主機
hosts deny = 0.0.0.0/0                   //禁止主機
#transfer logging = yes

pid file = /var/run/rsyncd.pid      //pid文件的存放位置
lock file = /var/run/rsync.lock     //鎖文件的存放位置
log file = /var/log/rsyncd.log      //日誌記錄文件的存放位置
 

三、配置rsync密碼(在上邊的配置文件中已經寫好路徑) 

/etc/rsync.pas(名字隨便寫,只要和上邊配置文件裏的一致便可),格式(一行一個用戶) 帳號:密碼
#vi /etc/rsync.pas
例子:
rsync:111111
權限:由於rsync.pas存儲了rsync服務的用戶名和密碼,因此很是重要。要將rsync.pas設置爲root擁有, 且權限爲600。
cd /etc
chown root.root rsync.pas 
chmod 600 rsync.pas
3.rsyncd.motd(配置歡迎信息,無關緊要)
# vi /etc/rsyncd.motd
rsyncd.motd記錄了rsync服務的歡迎信息,你能夠在其中輸入任何文本信息,如:
Welcome to use the rsync services!
四、讓配置生效
service xinetd restart

5、啓動rsync server
一、啓動rsync服務端(獨立啓動)
#/usr/bin/rsync --daemon

二、啓動rsync服務端 (有xinetd超級進程啓動)
# /etc/rc.d/init.d/xinetd reload

六:加入rc.local 
在各類操做系統中,rc文件存放位置不盡相同,能夠修改使系統啓動時把rsync --daemon加載進去。
#vi /etc/rc.local
加入一行/usr/bin/rsync --daemon

檢查rsync
#netstat -a | grep rsync
   tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN   
七.配置rsync client
1)設定密碼
#vi /etc/rsync.pas
111111
修改權限
#cd /etc
#chown root.root rsync.pas 
#chmod 600 rsync.pas

二、client鏈接SERVER
  從SERVER端取文件
/usr/bin/rsync -vzrtopg --progress --delete rsync@192.168.0.60::backup /home/backup --password-file=/etc/rsync.pas

  向SERVER端上傳文件
   /usr/bin/rsync -vzrtopg --progress --password-file=/etc/rsync.pas  /home/wwwroot rsync@192.168.0.60::backup

    這個命令將把本地機器/home/backup目錄下的全部文件(含子目錄)所有備份到RSYNC SERVER(192.168.0.60)的backup模塊的設定的備份目錄下。
請注意若是路徑結束後面帶有"/",表示備份該目錄下的東東,但不會建立該目錄,如不帶"/"則建立該目錄。
 

三、自動運行
1)vi /usr/local/rsync/time.sh  
#!/bin/bash
/usr/bin/rsync -vzrtopg --progress --delete rsync@192.168.0.60::backup /home/backup --password-file=/etc/rsync.pas
2) crontab -e
加入55 * * * * /usr/local/rsync/time.sh     

 

rsync命令參數
-v表示verbose詳細顯示
-z表示壓縮
-r表示recursive遞歸
-t表示保持原文件建立時間
-o表示保持原文件屬主
-p表示保持原文件的參數
-g表示保持原文件的所屬組
-a存檔模式
-P表示代替-partial和-progress二者的選項功能
-e ssh創建起加密的鏈接。
--partial阻止rsync在傳輸中斷時刪除已拷貝的部分(若是在拷貝文件的過程當中,傳輸被中斷,rsync的默認操做是撤消前操做,即從目標機上
刪除已拷貝的部分文件。)
--progress是指顯示出詳細的進度狀況
--delete是指若是服務器端刪除了這一文件,那麼客戶端也相應把文件刪除,保持真正的一致。
--exclude不包含/ins目錄
--size-only 這個參數用在兩個文件夾中的差異僅是源文件夾中有一些新文件,不存在重名且被修改過的文件,由於這種文件有可能會由於內容被修改可大小同樣,而被略過。這個參數能夠大大地提升同步的效率,由於它不須要檢查同名文件的內容是否相同。
--password-file來指定密碼文件,內容包含server端指定認證用戶的密碼。
這樣就能夠在腳本中使用而無需交互式地輸入驗證密碼了,這裏須要注意的是這份密碼文件權限屬性要設得只有屬主可讀。
rsync@192.168.0.217::backup
hening是指server端指定認證的用戶
192.168.0.217是指服務器端的ip
::backup 表示服務器端須要同步的模塊名稱;
/home/quack/backup/$DATE是同步後的文件指存放在本機的目錄地址。
/var/log/rsync.$DATE是同步後的日誌文件存放在本機的目錄地址

1.配置主控端 uid = nobody gid = nobody use chroot = no max connections = 4 stirict modes = yes port = 873 [backup] path =/home/backup comment = This is a test ignore errors read only = false list = no hosts allow = 192.168.0.200 hosts deny = 0.0.0.0/0 auth users =rsync secrets file =/etc/rsyncd.pw pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log

相關文章
相關標籤/搜索