shell同时执行在多个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删除了。