码迷,mamicode.com
首页 > 系统相关 > 详细

shell同时执行在多个linux上

时间:2021-04-02 13:01:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:shel   lin   host   span   serve   art   一个   ssh   linux   

https://blog.csdn.net/weixin_33672109/article/details/92378342

#!/bin/bash                                            
if [ "$#" -ne 2 ] ; then                               
    echo "USAGE: $0 -f server_list_file cmd"           
    exit -1                                            
fi                                                     
                                                       
file_name=$1                                           
cmd_str=$2                                             
                                                       
cwd=$(pwd)                                             
cd $cwd                                                
serverlist_file="$cwd/$file_name"                      
                                                       
if [ ! -e $serverlist_file ] ; then                    
    echo server.list not exist;                      
    exit 0                                             
fi                                                     
                                                       
while read line                                        
do                                                     
    #echo $line                                        
    if [ -n "$line" ] ; then     
        echo "DOING--->>>>>" $line "<<<<<<<"
        ssh $line $cmd_str < /dev/null > /dev/null                                                                                                         
        if [ $? -eq 0 ] ; then                         
            echo "$cmd_str done!"                      
        else                                           
            echo "error: " $?                          
        fi                                             
    fi                                                 
done < $serverlist_file 

使用帮助:

执行:

./all.sh host_file_list  ‘rm -rf /lctdir/test.txt‘ 

host_file_list中为服务器的地址,一行一个,如下:

192.168.0.100
192.168.0.101

192.168.0.102

 ‘rm -rf /lctdir/test.txt‘ 为要执行命令,这个命令执行完的效果,就是把三台服务器的/lctdir/test.txt删除了。

shell同时执行在多个linux上

标签:shel   lin   host   span   serve   art   一个   ssh   linux   

原文地址:https://www.cnblogs.com/Babylon/p/14606751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!