RSYNC軟體介紹:rsync是類unix系統下的資料鏡像備份工具,從軟體的命名上就可以看出來了——remote sync。
一:rsync 使用啟動rsyncserver
RSYNC服務端啟動的兩種方法
1、啟動rsync服務端獨立啟動)
#/usr/bin/rsync–daemon
2、啟動rsync服務端有xinetd超級進程啟動)
#/etc/rc.d/init.d/xinetdreload
二:rsync 使用加入rc.local
在各種作業系統中,rc檔案存放位置不盡相同,可以修改使系統啟動時把rsync--daemon載入進去。
#vi/etc/rc.local
加入一行/usr/local/rsync–daemon
檢查rsync
#netstat-a|greprsync
tcp000.0.0.0:8730.0.0.0:*LISTEN
三:rsync 使用配置rsyncclient
1、設定密碼
#vi/etc/rsync.pas
111111
修改許可權
#cd/etc
#chownroot.rootrsync.pas
#chmod600rsync.pas
2、client串連SERVER
從SERVER端取檔案
/usr/bin/rsync-vzrtopg--progress--deletehening@192.168.0.217::backup/home/backup--password-file=/etc/rsync.pas
向SERVER端上傳檔案
/usr/bin/rsync-vzrtopg--progress--password-file=/root/rsync.pas/home/backuphening@192.168.0.217::backup
這個命令將把本地機器/home/backup目錄下的所有檔案含子目錄)全部備份到RSYNCSERVER172.20.0.6)的backup模組的設定的備份目錄下。
請注意如果路徑結束後面帶有"/",表示備份該目錄下的東東,但不會建立該目錄,如不帶"/"則建立該目錄。
RSYNC用法:
rsync[OPTION]...[USER@]HOST::SRC[DEST]#從RSYNCSERVER備份檔案到本地機器
rsync[OPTION]...SRC[SRC]...[USER@]HOST::DEST#從本地機器備份檔案到RSYNCSERVER
3、自動運行
1)vi/usr/local/rsync/time.sh//製作指令檔
把下邊的內容複寫進去
#!/bin/bash
/usr/bin/rsync-vzrtopg--progress--deletehening@192.168.0.217::backup/home/backup--password-file=/etc/rsync.pass
2)crontab-e加入55****/usr/local/rsync/time.sh//每55分運行一次time.sh指令檔
4、iptables
iptables-AINPUT-ptcp-s!11.22.33.44--dport873-jDROP
如此,只有11.22.33.44這個clientIP能進入這台rsyncserver.
命令介紹:-rvlHpogDtS
rsync命令參數
-v表示verbose詳細顯示
-z表示壓縮
-r表示recursive遞迴
-t表示保持原檔案建立時間
-o表示保持原檔案屬主
-p表示保持原檔案的參數
-g表示保持原檔案的所屬組
-a存檔模式
-P表示代替-partial和-progress兩者的選項功能
-essh建立起加密的串連。
--partial阻止rsync在傳輸中斷時刪除已拷貝的部分(如果在拷貝檔案的過程中,傳輸被中斷,rsync的預設操作是撤消前操作,即從目標機上刪除已拷貝的部分檔案。)
--progress是指顯示出詳細的進度情況
--delete是指如果伺服器端刪除了這一檔案,那麼用戶端也相應把檔案刪除,保持真正的一致。
--exclude不包含/ins目錄
--size-only這個參數用在兩個檔案夾中的差別僅是源檔案夾中有一些新檔案,不存在重名且被修改過的檔案,因為這種檔案有可能會因為內容被修改可大小一樣,而被略過。這個參數可以大大地提高同步的效率,因為它不需要檢查同名檔案的內容是否相同。
--password-file來指定密碼檔案,內容包含server端指定認證使用者的密碼。
這樣就可以在指令碼中使用而無需互動式地輸入驗證密碼了,這裡需要注意的是這份密碼檔案許可權屬性要設得只有屬主可讀。
hening@192.168.0.217::backup
hening是指server端指定認證的使用者
192.168.0.217是指伺服器端的ip
::backup表示伺服器端需要同步的模組名稱;
/home/quack/backup/$DATE是同步後的檔案指存放在原生目錄位址。
/var/log/rsync.$DATE是同步後的記錄檔存放在原生目錄位址。
注意
不放/則目錄名也包含mirror,放/則只有目錄裡面的東西mirror了