1. 程式人生 > >rsync遠端同步工具

rsync遠端同步工具

功能:迴圈複製檔案到所有節點的相同目錄下。

       rsync遠端同步工具,主要用於備份和映象。具有速度快、避免複製相同內容和支援符號連結的優點。

先配置ssh無密碼登陸,ssh無密碼登入文件地址:https://blog.csdn.net/zhangchao_cn/article/details/84753730

(1)安裝和檢視rsync使用說明

#安裝
yum install rsync -y
#檢視使用說明
man rsync | more

(2)基本語法

rsync -rvl     $pdir/$fname         
[email protected]
$host:$pdir 命令 命令引數 要拷貝的檔案路徑/名稱   目的使用者@主機:目的路徑

    選項

      -r 遞迴

      -v 顯示覆制過程

      -l 拷貝符號連線

(3)案例實操

    把本機/opt/tmp目錄同步到hadoop103伺服器的root使用者下的/opt/tmp目錄

    rsync -rvl /opt/tmp/* 

[email protected]:/op       t/tmp

(4)編寫叢集分發指令碼

      a)、在/usr/local/bin目錄下建立xsync檔案,檔案內容如下

#!/bin/bash
#1 獲取輸入引數個數,如果沒有引數,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 獲取檔名稱
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 獲取上級目錄到絕對路徑
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 獲取當前使用者名稱稱
user=`whoami`

#5 迴圈
for((host=103; host<105; host++)); do
        #echo $pdir/$fname 
[email protected]
$host:$pdir echo --------------- hadoop$host ---------------- rsync -rvl $pdir/$fname [email protected]$host:$pdir done

      b)、修改指令碼 xsync 具有執行許可權

chmod a+x xsync

      c)、呼叫指令碼形式:xsync 檔名稱