linux批量执行命令脚本,2.3-命令批量执行脚本

本文介绍了一种通过编写expect和bash脚本实现批量在远程服务器上执行命令的方法。使用此方法可以高效地对多个服务器进行管理和操作,适用于需要频繁执行相同命令的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命令批量执行脚本,同样需要两个脚本来实现:1 exe.expect

2 exe.sh

3 ip.list    IP列表

cat exe.expect

#!/usr/bin/expect

set host [lindex $argv 0]            #第一个参数,IP列表

set passwd "hd792310"

set cm [lindex $argv 1]              #第二个参数,cm要执行的命令

spawn ssh root@$host

expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect "]*"

send "$cm\r"

expect "]*"

send "exit\r"

cat exe.sh

#!/bin/bash

for ip in `cat ip.list`

do

echo $ip

./exe.expect $ip "w;free -m;ls /tmp"    #一行执行多个命令,用;来分割

done

如果需要执行的命令很复杂,;分隔符不能胜任。此时需要写SHELL脚本,先同步到远程机器,然后把脚本写到第二个参数来执行。考虑到有ip.list等因素,不进入指定目录,找不到文件而报错,需要进入指定的目录来执行命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值