最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell腳本實現(xiàn)同時多臺遠(yuǎn)程主機執(zhí)行命令的代碼分享

 更新時間:2017年03月07日 08:47:23   作者:LoyaChen  
這篇文章主要給大家介紹了關(guān)于shell腳本實現(xiàn)同時多臺遠(yuǎn)程主機執(zhí)行命令的方法,文中給出了詳細(xì)的代碼示例,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。

實現(xiàn)需求

在對單臺機器做操作時我們會用“ssh ip”的方式登錄到機器上,可以寫這樣一個工具vssh ip1,ip2,…ipn 來模擬登錄到n 臺服務(wù)器,登錄后所有操作相當(dāng)于同時對n 臺服務(wù)器生效。

實現(xiàn)方法

首頁要確??梢酝ㄟ^本地公鑰無密碼登錄遠(yuǎn)程主機:

ssh-copy-id [-i [identity_file]] [user@]machine

shell腳本

#!/bin/bash
# -------------------------------------------------------------------------------
# Author:   Loya.Chen
# Description: Execute commands on multiple remote hosts at the same time.
# -------------------------------------------------------------------------------
set -e
Usage() {
  echo "Usage: $0 host1 host2 ... 'command'"
}
if [ $# -lt 2 ] ;then
  Usage
  exit 0
else
  cmd=${!#}
fi
logfile=$(mktemp)
i=1
success=0
failed=0
for ip in $@;do 
  if [ $i -eq $# ];then
    break
  fi
  ssh $ip $cmd &> $logfile
  if [ $? -eq 0 ];then
    #((success++))
    success=$(($success+1))
    echo -e "\n\033[32m$ip | success \033[0m \n"
    cat $logfile
  else
    ((failed++))
    echo -e "\n\033[31m$ip | failed \033[0m\n "
    cat $logfile
  fi
  ((i++))
done
echo -e '\n-------------------------'
echo -e "\033[32msuccess: $success | failed: $failed \033[0m"
echo '-------------------------'

示例

$ bash vssh 10.0.0.11 10.0.0.12 'free -m'
10.0.0.11 | success 
       total    used    free   shared  buffers   cached
Mem:     2871    156    2715     0     8     36
-/+ buffers/cache:    111    2760
Swap:     2047     0    2047
10.0.0.12 | success 
       total    used    free   shared  buffers   cached
Mem:      980    615    365     0     12     69
-/+ buffers/cache:    533    447
Swap:     2047     0    2047
-------------------------
success: 2 | failed: 0 
-------------------------

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Shell腳本遍歷一個日期范圍實例

    Shell腳本遍歷一個日期范圍實例

    這篇文章主要介紹了Shell腳本遍歷一個日期范圍實例,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • 輸出執(zhí)行操作和打印日志的shell腳本實例

    輸出執(zhí)行操作和打印日志的shell腳本實例

    下面小編就為大家?guī)硪黄敵鰣?zhí)行操作和打印日志的shell腳本實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • linux awk時間計算腳本及awk命令詳解

    linux awk時間計算腳本及awk命令詳解

    這篇文章主要介紹了linux awk時間計算腳本及awk命令詳解的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • Linux Shell在目錄下使用for循環(huán)結(jié)合if查找文件的巧用

    Linux Shell在目錄下使用for循環(huán)結(jié)合if查找文件的巧用

    今天小編就為大家分享一篇關(guān)于Linux Shell在目錄下使用for循環(huán)結(jié)合if查找文件的巧用,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • linux中ps -ef和ps -aux的區(qū)別

    linux中ps -ef和ps -aux的區(qū)別

    ps -ef和ps -aux均為Linux中的ps命令,是Process Status的縮寫,ps命令用來列出系統(tǒng)中當(dāng)前運行的那些進(jìn)程,這篇文章主要介紹了linux中ps -ef和ps -aux的區(qū)別,需要的朋友可以參考下
    2023-10-10
  • Linux中10個方便的Bash別名

    Linux中10個方便的Bash別名

    今天小編就為大家分享一篇關(guān)于Linux中10個方便的Bash別名,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • shell中case的使用

    shell中case的使用

    case語句是基于值的多分支選擇結(jié)構(gòu),通過匹配表達(dá)式的值來執(zhí)行相應(yīng)的代碼塊,它的基本結(jié)構(gòu)包括case關(guān)鍵字、待匹配的表達(dá)式、模式、代碼塊、默認(rèn)分支(*)和結(jié)束關(guān)鍵字esac,感興趣的可以了解一下
    2024-11-11
  • shell腳本declare命令的用法詳解(聲明變量的屬性和類型)

    shell腳本declare命令的用法詳解(聲明變量的屬性和類型)

    這篇文章主要介紹了shell腳本declare命令用法(聲明變量的屬性和類型,declare?命令在一般的腳本編寫中并不常用,大多數(shù)情況下直接使用簡單的變量賦值語句即可滿足需求,需要的朋友可以參考下
    2023-06-06
  • bash腳本中if語句的使用方法

    bash腳本中if語句的使用方法

    與大多數(shù)語言一樣,bash 有自己的條件形式。在使用時,要遵循以上格式;即,將 "if" 和 "then" 放在不同行,并使 "else" 和結(jié)束處必需的 "fi" 與它們水平對齊。這將使代碼易于閱讀和調(diào)試
    2014-05-05
  • 一個測試下載速度的shell腳本

    一個測試下載速度的shell腳本

    這篇文章主要介紹了一個測試下載速度的shell腳本,需要的朋友可以參考下
    2014-03-03

最新評論

黑龙江省| 石林| 无为县| 灌阳县| 苏州市| 永兴县| 麦盖提县| 宁强县| 柏乡县| 上蔡县| 武强县| 漳浦县| 静宁县| 绩溪县| 叙永县| 阿拉尔市| 阜新市| 汝南县| 柏乡县| 承德县| 仁布县| 睢宁县| 治多县| 张家港市| 巴塘县| 阳朔县| 金平| 呼和浩特市| 金堂县| 信丰县| 中牟县| 营口市| 都昌县| 额敏县| 宁陵县| 泰和县| 德格县| 甘谷县| 柳林县| 宁阳县| 澄迈县|