rsync+crond定時遠程備份

配置環境:redhat 6.3

 server A設置:

1. yum安裝rsync-3.0.6-9.el6.i686。
#yum install -y rsync

2.建立rsync 同步目錄/tmp/backup,此目錄裏面的內容將同步到遠程備份服務器B上。
#mkdir /tmp/backup

3.建立密碼文件,此文件用於存放rsync同步時使用的賬號密碼,格式爲「用戶名:密碼」,該用戶是與操做系統分離的,系統上不須要建立此用戶。rsync的密碼文件可以使用任意名稱。
#vim /etc/rsyncd.pass 
laya:123456

密碼文件權限需修改成600,
#chmod 600 /etc/rsyncd.pass
#ll /etc/rsyncd.pass
-rw------- 1 root root 9 Apr 16 11:07 /etc/rsyncd.pass

4.建立rsync配置文件/etc/rsyncd.conf,默認是沒有這個文件的,須要手工建立。rsync的配置文件使用模塊化結構,包含全局參數和模塊參數,全局參數是通用的配置。每一個模塊表明着一個目錄樹的同步,模塊定義從[]中的模塊名開始,到下一個模塊定義開始。
rsync.conf配置以下:
----------------------------------------------------------------------------------------
uid=root     #該選項指定當該模塊傳輸文件時守護進程應該具備的uid,默認值是「nobody」。
gid=root     #該選項指定當該模塊傳輸文件時守護進程應該具備的gid,默認值是「nobody」。
use chroot=no                     #不使用chroot。
max connections=4                 #設置最大鏈接數,默認爲0,即無限制。這裏設置爲4。
strict mode =yes                  #設置是否檢查口令文件的權限。
pid file=/var/run/rsyncd.pid      #指定rysnc進程的pid文件位置 。
lock file=/var/lock/rsync.lock    #指定支持max connections的鎖文件。
log file=/var/log/rsyncd.log      #指定 rsync日誌輸出路徑。
 

[test]                             #模塊名,可以使用任意名稱。
path=/tmp/backup                   #源目錄路徑。
comment=test rsync                 #模塊描述。
ignore errors                      #出現I/O錯誤時可忽略。
read only=no                       #是否只讀,設置爲no時客戶端可上傳文件。
write only=no                      #設置爲no 時客戶端可下載文件。
hosts allow=192.168.1.62           #容許訪問的主機。
hosts deny=*                       #拒絕訪問的主機,*表示全部主機。
list=false                         #設置客戶端請求時是否列出該模塊,false爲隱藏。
auth users=laya                    #設置鏈接時使用的用戶,即密碼文件裏面定義的用戶名。
secrets file=/etc/rsyncd.pass      #指定存放密碼文件的位置 。
----------------------------------------------------------------------------------------


5.啓動rsync守護進程
#/usr/local/bin/rsync --daemon
 
rsync的默認端口爲873,經過命令netstat –lnpt能夠查看是否已正常啓動。
vim

#netstat -lnpt
tcp        0      0 :::873               :::*                    LISTEN 2158/rs

----------------------------------------------------------------------------------------
  client B 配置
1. 安裝rsync。
#yum install -y rsync

2. 配置密碼文件,裏面寫入與服務器A上相同的密碼,但不須要再寫賬號名。
#vim /etc/rsyncd.pass
123456

3. 建立備份的文件夾
mkdir /backup

4. 同步操做,使用以下命令從服務器A下載文件。
#/usr/local/bin/rsync -vzrtopgu --delete --progress --exclude
*.log」 laya@192.168.1.37::test /backup  --password-file=/etc/rsyncd.pass

該命令的解釋以下:
-v 即--verbose   #顯示傳輸的詳細信息。
-z 即--compress  #傳輸時對文件進行壓縮。
-r 即--recursive #對子目錄進行遞歸處理。
-t 即--times     #保持文件的時間信息。
-o 即--owner     #用來保持文件的屬主信息。
-p 即--perms     #保持文件權限。
-g 即--group     #保持文件屬組信息。
--delete  #以rsync服務器爲基準保持數據同步,若是服務器刪除了某一文件,客戶端也會刪掉。
--progress   #顯示出詳細的進度狀況。
--exclude    #用於排除不須要的文件類型。
laya@192.168.1.37::test   #指定備份的服務器和相關的模塊,laya爲服務器A上面設置的
                           rsync同步賬號,注意服務器IP與模塊名之間爲雙冒號「::」。 
 
/backup #指定備份的文件在客戶端B上的存放位置 。
--password-file=/etc/rsyncd.pass  #指定客戶端存放密碼文件的位置。

如今,咱們能夠查看備份目錄/backup,看到已經與A服務器上的/tmp/backup完成了同步,同時排除了咱們不想要同步的文件。

5.若是咱們須要定時同步,如三小時同步一次,只需把該命令加到計劃任務便可。

* 3 * * * /usr/local/bin/rsync -vzrtopgu --delete --progress --exclude 「*.log」  laya@192.168.1.37::test /backup --password-file=/etc/rsyncd.pass

 至此,rsync的同步設置完成。




服務器

相關文章
相關標籤/搜索