1、有關NFS客戶端普通用戶寫NFS的問題。
1)為什麼要普通用戶寫NFS。
2)exports加all_squash。
Rsync是一款開源的、快速的、多功能的、可實現全量即增量的本地或遠程數據同步備份的優秀工具。Rsync軟件適用於unix、linux、windows等多種操作系統平台。
Rsync英文全稱Remote synchronization。從軟件的名稱就可以看出來,Rsync具有可使本地和遠程兩台主機之間的數據快速復制同步鏡像、遠程備份的功能,這個功能類似ssh帶的scp命令,但又優於scp命令的功能,scp每次都是全量拷貝,而rsync可以增量拷貝。當然,Rsync還可以在本地主機的不同分區或目錄之間全量及增量的復制數據,這又類似cp命令,但同樣也優於cp命令,cp每次都是全量拷貝,而rsync可以增量拷貝。
利用rsync還可以實現刪除文件和目錄的功能,又相當於rm命令。
一個rsync相當於scp、cp、rm,但是還優於他們每一個命令。
1、支持拷貝特殊文件如鏈接文件、設備等。
2、可以有排除指定文件或目錄同步的功能,相當於打包命令tar的排除功能。
3、可以做到保持原文件或目錄的權限、時間、軟硬鏈接、屬主、屬組等所有屬性均不改變-p。
4、可以實現增量同步,即只同步變化的數據,因此數據傳輸效率很高。
5、可以使用rcp、rsh、ssh等方式來配合傳輸文件(rsync本身不對數據加密)。
6、可以通過socket(進程方式)傳輸文件和數據(服務端和客戶端)。
7、支持匿名或認證的進程模式傳輸,可以實現方便安全的進行數據備份及鏡像。
全網服務器數據備份
rsync命令是客戶端命令。
Rsync大致使用三種主要的傳輸數據的方式。
1、單個主機本地之間的數據傳輸(此時類似cp命令的功能)。
2、借助rcp、ssh等通道來傳輸數據(此時類似scp命令的功能)。
3、以守護進程(socket)的方式傳輸數據(rsync自身的重要功能)。
借助ssh通道推送數據
源端:
目標端:
借助ssh通道拉取數據
源端:
關鍵語法說明:
1、-avz相當於-vzrtopgD1,表示同步時文件和目錄屬性不變。
2、-P顯示同步的過程,可以用--progress替換。
3、-e 'ssh -p 22',表示通過ssh的通道傳輸數據,-p 22可省略。
4、[email protected]:/tmp/遠程的主機系統用戶、地址、路徑。
5、/tmp/本地的路徑。
常用參數選項說明:
-v,--verbose:詳細模式輸出,傳輸時的進度等信息。
-z,--compress:傳輸時進行壓縮以提高傳輸效率,--compress-level=NUM可按級別壓縮。
-a,--archive:歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rtopgDl。
-r,--recursive:對子目錄以遞歸模式,即目錄下的所有目錄都同樣傳輸,注意是小寫r。
-t,--times:保持文件時間信息。
-o,--owner:保持文件屬主信息。
-p,--perms:保持文件權限。
-g,--group:保持文件屬組信息。
-P,--progress:顯示同步的過程及傳輸時的進度等信息。
-D,--devices:保持設備文件信息。
-l,--links:保留軟鏈接。
-e,--rsh=COMMAND:使用的信道協議,指定替代rsh的shell程序。例如:ssh。
--exclude=PATTERN:指定排除不需要傳輸的文件模式。
--exclude-from=file(文件名所在的目錄文件)
--bwlimit=PATE(限速) limit socket I/O bandwidth。
生產參數:-avz或者-vzrtopg。
查看rsync安裝包
啟動rsync服務
創建rsync用戶
創建共享目錄/backup
創建密碼文件/etc/rsync.password
修改密碼文件/etc/rsync.password的權限
1、vi /etc/rsyncd.conf配置。
2、創建rsync用戶,及共享目錄/backup。
useradd rsync -s /sbin/nologin -M
id rsync
mkdir /backup
chown -R rsync /backup
3、創建密碼文件/etc/rsync.password。
echo "用戶名:密碼" >/etc/rsync.password
chmod 600 /etc/rsync.password
4、啟動服務
rsync --daemon
netstat -lntup|grep rsync
ps -ef|grep rsync|grep -v grep
5、加入開機自啟動
echo "rsync --daemon" >>/etc/rc.local
cat /etc/rc.local
1、創建密碼文件
echo "密碼">/etc/rsync.password
chmod 600 /etc/rsync.password
2、rsync
push:
rsync -avz /tmp/ [email protected]::backup --password-file=/etc/rsync.password
pull:
rsync -avz [email protected]::backup /tmp/ --password-file=/etc/rsync.password
rsync -avz rsync://[email protected]/backup /tmp/ --password-file=/etc/rsync.password
安全的優化:
pkill rsync #結束進程rsync
rsync --daemon --address=10.0.0.10
進程管理:
pkill 進程名
killall 進程名
kill pid(進程號)
平滑結束進程:
kill -HUP `cat /var/run/rsyncd.pid`
kill –USR2 `cat /var/run/rsyncd.pid`
1、查看rsync服務配置文件路徑是否正確,正確的默認路徑為:/etc/rsyncd.conf。
2、查看配置文件裡host allow、host deny允許的ip網段是否是允許客戶端訪問的ip網段。
3、查看配置文件中path參數裡的路徑是否存在,權限是否正確(正常應為配置文件中的UID參數對應的屬主和組)。
4、查看rsync服務是否啟動。查看命令為ps -ef|grep rsync。端口是否存在netstat -lnt|grep 873。
5、查看iptables防火牆和selinux是否開啟允許rsync服務通過,也可以關閉。
6、查看服務端rsync配置的密碼文件是否為600的權限,密碼文件格式是否正確,正確格式:用戶名:密碼,文件路徑和配置文件裡的secrect files參數對應。
7、如果是推送數據,要查看配置rsyncd.conf文件中用戶是否對模塊下目錄有可讀寫的權限。
1、增量備份同步。
2、支持socket(daemon)。
3、集中備份。
1、大量小文件同步的時候比對時間較長,有的時候rsync進程會停止。
解決辦法:a、打包同步。b、drbd(文件系統同步復制block)。
2、同步大文件時(10G以上)會有中斷。未完整同步前是隱藏文件,同步完成之後為正常文件。
無差異同步:--delete(慎用),使用該參數前先備份。
客戶端rsync命令排除
排除單個文
rsync -avz --exclude=a /data1/ [email protected]::oldboy --password-file=/etc/rsync.password
排除多個文件
rsync -avz --exclude={a,b} /data1/ [email protected]::oldboy --password-file=/etc/rsync.password
rsync -avz –exclude-from=paichu.log /data1/ [email protected]::oldboy --password-file=/etc/rsync.password
定時備份案例
用scp發送到另外一台服務器
http://www.bkjia.com/Linuxjc/1192043.html TechArticle