簡單教你寫xsync和xcall的腳本

xsync配置
xsync腳本基於rsync工具,rsync 遠程同步工具,主要用於備份和鏡像。具有速度快、避免複製相同內容和支持符號鏈接的優點,它只是拷貝文件不同的部分,因而減少了網絡負擔。

rsync -rvl $pdir/$fname $user@hadoop$host:$pdir

常用參數:
-r, –recursive 對子目錄以遞歸模式處理
-R, –relative 使用相對路徑信息
-l, –links 保留軟鏈結
-v, –verbose 詳細模式輸出,傳輸過程可見

在/usr/local/bin 目錄下創建 xsync 文件,向裏面添加:

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

#獲取文件名稱
p1=$1
fname=`basename $p1`
echo fname=$fname
#獲取上級目錄到絕對路徑
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#獲取當前用戶名稱
user=`whoami`
#循環
for((host=1; host<=2; host++)); do
echo $pdir/$fname $user@slave$host:$pdir
echo ==================slave$host==================
rsync -rvl $pdir/$fname $user@slave$host:$pdir
done

最後chmod a+x xsync給文件添加執行權限即可。

xcall配置
進入/usr/local/bin目錄下,輸入vim xcall,向裏面添加:

#!/bin/sh
pcount=$#
if((pcount==0));then
        echo no args...;
        exit;
fi
echo ==================master==================
$@
for((host=1; host<=2; host++)); do
        echo ==================slave$host==================
        ssh slave$host $@
 done
---------------------

之後chmod a+x xcall給文件添加執行權限即可。

最後!!!要使用jps,需要在機器中添加軟連接,根據自己jdk的路徑自行更正即可。

ln -s -f  /usr/local/jdk1.8.0_152/bin/jps /usr/local/bin/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章