Linux一些集羣腳本

     集羣情況:talos102,talos103,talos104 三臺機器

     前提條件:完成talos102到talos102、talos103和talos104的免密登陸

  1. 批量執行命令的腳本: xcall 
#!/bin/bash
pcount=$#
if((pcount==0));then
        echo no args;
        exit;
fi


for i in talos102 talos103 talos104;
    do
        echo "----------$i---------"
        ssh $i $@
    done
  1.      批量複製文件(夾)到集羣機器:(需要安裝rsync)
#!/bin/sh
# 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 i in talos103 talos104; do
        echo $pdir/$fname $user@$i:$pdir
        echo "==================$i=================="
        rsync -rvl $pdir/$fname $user@$i:$pdir
done
#Note:這裏的slave對應自己主機名,需要做相應修改。另外,for循環中的host的邊界值
  • 注意事項:

    • 有可能遠程機器執行結果與本機執行時不一直,可以執行以下操作:

      cat /etc/profile >> ~/.bashrc

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章