shell腳本批量ssh登錄主機並執行命令

shell腳本批量ssh登錄主機並執行命令

今天在客戶現場遇到了這個問題,客戶沒有管理工具,沒法批量登錄主機下發命令,幾個個C段啊,讓我一個一個登錄,。。。。。。。。。。。。。。。。。。git

因此寫了個shell腳本,批量使用用戶名密碼方式登錄Linux主機,執行命令,並判斷是否執行成功。github

功能:shell

  1. 讀取IP地址文件,循環登錄主機執行命令,保存返回結果。

腳本已經上傳到github https://github.com/b4zinga/UsefulScripts/blob/master/remote-exec.shssh

#!/bin/sh
# Date  : 2018-09-14 14:56:09
# Author: b4zinga
# Email : b4zinga@outlook.com
# Func  : 批量登錄Linux主機並執行命令

username="root"
password="password"
port="22"
timeout=3

cmd="id > /tmp/b4"

login(){
    echo ""
    echo "-------------------------------------------------------- "
    echo "username: $username  password: $password  port: $port  timeout=$timeout" 
    echo "command: $cmd"
    echo "Remote exec command script"
    echo "--------------------------------------------------------"
    echo ""


    for host in `cat ip.txt`;
    do
        result=""
        result=`sshpass -p "$password" ssh -p $port -o StrictHostKeyChecking=no -o ConnectTimeout=$timeout $username@$host $cmd`
        echo $host >> result.txt
        echo $result >> result.txt

    done
    echo ""
}

login
ls
相關文章
相關標籤/搜索