1. 程式人生 > >linux shell編寫指令碼,執行命令同時操作多臺主機

linux shell編寫指令碼,執行命令同時操作多臺主機

執行命令同時檢視多臺主機jps

#!/bin/bash

[email protected]
i=201
for (( i = 1 ; i <= 3 ; i = $i + 1 )) ; do
    echo ============= es0$i $params =============
    ssh s$i "$params"
done
注意,否則會報錯“找不到命令”

執行./xcall.sh jps命令,注意需要在/usr/local/bin下新增jps命令的軟連結。

ln -s /usr/local/jdk/bin/jps /usr/local/bin/jps

效果如下:

./xcall.sh jps
================es01 jps =======================
4992 Jps
4132 NameNode
4439 SecondaryNameNode
4267 DataNode
================es02 jps =======================
2853 Jps
2618 DataNode
================es03 jps =======================
3600 Jps
3375 DataNode


相關推薦

linux shell編寫指令碼執行命令同時操作主機

執行命令同時檢視多臺主機jps#!/bin/bash [email protected] i=201 for (( i = 1 ; i <= 3 ; i = $i + 1 )) ; do echo ============= es0$i $param

如何同時操作linux服務器

童鞋 技巧 for width ont get RM cap targe 如果你有多臺服務器想要運維,一般可以考慮ansible,puppet之類的,但是如果只是想簡單的在多臺服務器上執行一下命令,用xshell就可以了。 首先要把”撰寫欄”顯示出來,然後在“撰寫欄

Windows下打包maven專案編寫bat指令碼dos命令在後臺執行與關閉

在IDEA終端 mvn clean package  會在專案目錄下建立一個target目錄,打好包的jar包就在這個目錄下。 那麼如何執行? 首先編寫bat檔案,如下編寫 eureka_run.bat   @echo off start jav

linux中利用shell指令碼條件執行命令

在linux環境中,我們總會有一些命令需要經常用,例如經常跳轉到某些目錄下或者執行某些命令,輸入一連串的命令是很煩的,此時我們可以預先寫一些指令碼然後根據我們的選擇自動執行命令,那豈不是完美,本指令碼就是為此而生的(以跳轉不同的目錄舉例,當然也可以執行其他命令,

Linux shell指令碼執行命令結果賦值給變數&&echo輸出變數是否包含換行符的問題

Linux shell指令碼中執行命令結果賦值給變數&&echo輸出變數是否包含換行符的問題 echo $ret 和 echo "$ret" 區別: 如果是echo $ret,輸出結果為一行,沒有換行符 如果是echo "$ret",輸出結果為多行,有換行符

使用IDEA等IDE在Windows環境進行shell編寫之後Linux環境執行報錯的解決辦法

使用IDEA等IDE在Windows環境進行shell編寫之後, 在Linux環境執行通常會報錯 常用解決辦法有兩種 1.每行都使用分號結尾; 2.更改換行符 通常的換行符,及預設編輯器換行符: 更改為: 然後修改一些無關緊要的內容,提交到Linux環境

shell指令碼使用ssh命令連線主機自動建立目錄分發程式執行命令

=========shell呼叫ssh和ftp實現多主機自動管理功能=========== 自動登入多臺主機建立目錄自動向指定目錄下上傳指定檔案自動修改指定檔案內容 ===================================================

老男孩教育每日一題-2017年5月7日-加餐-linux下面如何實現執行rm命令就顯示do not use rm command

linux別名 每日一題 1.題目-老男孩教育每日一題-2017年5月7日-加餐-linux下面如何實現,執行rm命令,就顯示do not use rm command2.要求結果[[email protected]/* */ ~]# rm do not use rm command3.答

linux 系統啟動以後執行指令碼的順序

1 首先是 rcS #! /bin/sh export PATH=/bin:/sbin:/usr/bin:/usr/sbin:. # 掛載虛擬檔案系統 echo "Mounting virtual filesystems" mkdir -p /sys /proc /dev mount -t

兩個linux shell小技巧助你提高敲命令效率!

技巧一.sudo! 1.在linux命令列敲命令時,你是不是也碰到過這種情況:敲了一長串命令,瀟灑的一回車,結果發現Permission denied。   當你意識到需要在行首加一個sudo,用root使用者執行該命令,這時你會怎麼做?通常的做法可能是這樣的: 1.按↑重新顯示之前的命

Linux學習基礎——之shell基礎——指令碼執行方式

所有的Linux命令都可以在shell中執行 1、echo 輸出命令 【[email protected] ~】#echo 【選項】【輸出內容】 選項:     -e   :支援反斜線控制的字元轉換 那什麼樣的字元加反斜線才能被識別呢?

linux中的指令碼手工執行正常crond執行卻無執行結果解決方法!

遇到一個比較奇怪的問題,在redhat6.7上面執行mysqldump備份的一個指令碼,手工測試之後是正常的;so就加上日程,用crond跑了起來。 第二天過來檢查的時候,發現sql檔案是個0位元組的

Linux shell相關基礎建立shell指令碼掃描判斷區域網主機作業系統型別

nmap:linux使用nmap 對區域網掃描,檢視arp快取表就可以知道局域內主機ip和mac了,方法如下:nmap引數-sP -PU -sS ,-sS半開放掃描,不用執行完TCP三次握手,執行得很快。nmap -A掃描詳細資訊,速度慢。掃描之後檢視arp快取表獲取區域網主

利用shell指令碼執行ssh遠端另一主機執行命令並返回命令的結果集

假設從主機A,檢查主機B上的程序, 需要在主機B上建立檢查使用者,例如叫x, 並設定通過public key認證登入SSH,不會可以google搜一下, 然後,在A機器上執行: ssh [email protected] ~/command.sh > re

[轉]linux shell 獲取當前正在執行指令碼的絕對路徑

常見的一種誤區,是使用 pwd 命令,該命令的作用是“print name of current/working directory”,這才是此命令的真實含義,當前的工作目錄,這裡沒有任何意思說明,這個目錄就是指令碼存放的目錄。所以,這是不對的。你可以試試 bash shell/a.sh,a.sh 內

Linux下遠端連線windows執行命令

演示: 在Linux上遠端登入winodws,執行java程式。 實驗環境: 主機:win7x64  + WMare9.0 兩臺在WMare9.0上的虛擬機器。 虛擬機器A:初始安裝的win7x64 虛擬機器B:ubuntu-13.04-desktop-amd64 注

shell ssh遠程執行命令

地址 ipaddress class 遠程執行 add cat ack backups ipad [root@backup shell]# vi backup.sh #!/bin/sh ipAddress=172.17.167.38 ssh -tt root

Linux Shell 編程 教程 常用命令

pos post lin blog 常用 教程 OS body linu 概述: 一: 1. 2. 3. 二: 1. 2. 3. 三: 1. 2. 3. 四: 1. 2. 3. 五: 1. 2. 3. 六: 1. 2. 3.

分發系統expect遠程登錄執行命令傳遞參數

分發系統expect遠程登錄 執行命令自動退出 傳遞參數 分發系統:shell 上線腳本expect實現遠程傳輸文件,執行命令,系統上線等功能expect 腳本遠程登錄vim 1.expect#! /usr/bin/expectset host "192.168.91.129"

expect 普通用戶自動輸入密碼到root下執行命令

expect案例:當前服務器取消了直接使用root登錄服務器,只能使用普通用戶先登錄,然後再su - root 執行root下的命令。 shell腳本如下: #!/usr/bin/expect -fset password {root_password}spawn su - rootexpect "