rsync命令的基本使用


                    rsync命令的基本使用

                                      作者:尹正傑

版權聲明:原創作品,謝絕轉載!否則將追究法律責任。

 

  rsync服務軟件是一款開源,高速的,數據同步(拷貝)工具。

 

一.rsync服務的特點

1>.本地拷貝

  可以把數據從一個路徑復制到另一個路徑,類似與cp和mv的功能。

2>.異地拷貝

  可以從一台機器把數據復制到另一台機器,類似與scp。

3>.增量備份

  可以實現增量拷貝,只把多的內容拷過去,效率很高。

4>.刪除功能

  rsync本身並沒有刪除功能,但是可以通過它的參數來實現刪除功能,類似於Linux的rm命令。

5>.rsync服務模式

  可以掛起后台進程,接受別人訪問,這也是它的特殊的地方。

 

二.rsync實操案例

1>.本地拷貝

[root@yinzhengjie ~]# rsync -avz /var/log/messages /tmp/

  與cp不同的是它默認就是增量拷貝,當第一個拷貝一個較大的文件時,若第二次在繼續拷貝該文件時,它只會拷貝新增的內容。

  rsync命令參數:

    -v:--verbose,顯示輸出過程

    -z:--compress,壓縮

    -a:--archive,多參數集合,也叫歸檔模式,包括多個參數,相當於:-rlptgoD(no -H,-A,-X)。

    -r:--recursive,遞歸

    -t:--times,保持修改時間屬性

    -o:--owner 保持屬主不變

    -p:--perms 保持權限不變

    -g:--group 保持用戶組不變

    -l:--links 保證用戶組不變

    -q:--quiet 安靜的拷貝

2>.刪除功能

[root@yinzhengjie ~]# mkdir /yinzhengjie

[root@yinzhengjie ~]# rsync -avz --delete /yinzhengjie/ /opt/

  表示將目標文件的內容和本文件的內容一致,若目標文件中存在本目錄中不存在的文件時,直接刪除!

3>.排除文件

  --exclude:排除文件,當然也支持排除多個文件,用“{a.log,b.log,c.log}”替換圖中的"a.log"即可。

   --exclude-from:從文件中排除

 

 4>.異地拷貝

[root@yinzhengjie ~]# rsync -avz /yinzhengjie -e 'ssh -p 5200' yinzhengjie@172.16.3.210:~

  可以從一台機器把數據賦值到另一台機器,相當於scp命令。只不過scp命令是全量拷貝,而rsync是增量拷貝(只拷貝變化的文件),各自有自己的特點。

提示:"/yinzhengjie"和"/yinzhengjie/"這兩個目錄的區別是什么?

  /yinzhengjie: 指的是目錄本身及目錄下的內容。

  /yinzhengjie/ :指的是目錄下的內容。

5>.關於遠程拷貝的shell腳本

#!/bin/bash
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie
#EMAIL:y1053419035@qq.com

#判斷用戶是否傳參
if [ $# -lt 1 ];then
    echo "請輸入參數";
    exit
fi


#獲取文件路徑
file=$@

#獲取子路徑
filename=`basename $file`

#獲取父路徑
dirpath=`dirname $file`

#獲取完整路徑
cd $dirpath
fullpath=`pwd -P`

#同步文件到DataNode
for (( i=102;i<=104;i++ ))
do
    #使終端變綠色 
    tput setaf 2
    echo =========== s$i %file ===========
    #使終端變回原來的顏色,即白灰色
    tput setaf 7
    #遠程執行命令
    rsync -lr $filename `whoami`@s$i:$fullpath
    #判斷命令是否執行成功
    if [ $? == 0 ];then
        echo "命令執行成功"
    fi
done

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM