2.3-命令批量执行脚本

命令批量执行脚本,同样需要两个脚本来实现: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 [email protected]$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等因素,不进入指定目录,找不到文件而报错,需要进入指定的目录来执行命令。

时间: 2024-10-26 13:45:37

2.3-命令批量执行脚本的相关文章

分发系统:命令批量执行脚本

该脚本实现对不同主机批量执行命令 [[email protected] ~]# cat exe.expect#!/usr/bin/expect set host [lindex $argv 0] set passwd "123456" set cm [lindex $argv 1] spawn ssh [email protected]$host expect { "yes/no" { send "yes\r"} "password:&

Oracle批量执行脚本文件

以下是Oracle批量执行脚本文件的步骤和方法 1.创建脚本文件(xx.sql): 例如文件CreateTable Create table tb1( id varchar2(30), Name varchar2(50) ); Commit; / 可以创建多个,但是要注意语句之间要以分号结尾,同时注意语句内尽量不要有空行,因为空行的时候,在批量执行时可能会报错. 例如创建表时 create table t( id varchar2(20), Name varchar2(30) ); 上面这个文件

通过SqlClr制作Sql自动化批量执行脚本

通过SqlClr制作Sql自动化批量执行脚本 在与同事一起做项目时,看到同事用sqlclr做批量执行脚本,感觉挺新奇的就上网搜集资料自己模仿跟做了个案例, 感觉挺不错的,现在想和大家分享一下,可能存在些错误的地方,大家就做个小参考吧.... 1.我们在做数据迁移或是数据库结构修改时,通常会写一些脚本文件之后逐个运行.但是如果有数十或数百个脚本文件, 那么就可以通过SqlClr制作Sql自动化执 2.比如现在ImportDataScript文件夹内有些脚本文件: 3.我们想让这9个脚本文件自动的依

sqlplus批量执行脚本日志输出

spool d:\eagle2_2014_5_9_init.log; set feedback off; set define off; prompt -----初始化数据 start--- @D :\projects\Eagle_V2\04Code\v2.0\eagle2\resources\database\full\coc\coc-initialize.sql @D :\projects\Eagle_V2\04Code\v2.0\eagle2\resources\database\full

python 批量执行脚本(服务端和客户端建立TCP连接)

有很多开源的批量部署的工具可以使用,比如puppet, ansible , saltstack , chef . 但这些工具都有自己的一套语法规则,你得按照他的语法来编写程序,然后批量执行. 那有没有方法可以直接写bash 或者Python脚本,然后批量执行呢? 方法当然是有的,需要自己写程序来传输脚本,拷贝文件,再复杂点,可以自定义脚本式同步还是异步执行,自定义要执行的主机组,等等,需要根据自己的业务需要来想. 这里只是抛砖引玉,我采用建立socket(TCP)连接来批量执行脚本. 服务端脚本

jmeter命令行执行脚本

为什么要命令行执行脚本: 1.图形化界面消耗更多资源,CPU和内存 2.图形化界面不支持大型的负载测试和性能测试 3.命令行测试支持持续集成,例如放到Jenkins这样的CI工具上 nohup:让程序在后台运行 -h:帮助,打印出有用的信息并退出 -n:以非GUI形式运行Jmeter -t:Jmeter脚本路径 -l:输出结果路径,如果没有该文件就自动创建,可以生成csv或者jtl文件 -r:远程执行,启动远程服务 -H:代理主机,设置Jmeter使用的代理主机 -P:代理端口,设置Jmeter

Jmeter 批量执行脚本之-----------Ant

一.环境介绍&准备: 1)jmeter3.2版本,需配备jdk1.8(或其他jmeter版本): 2)ant下载,并配置环境变量: a.下载地址:http://ant.apache.org/bindownload.cgi b. 配置环境变量: c.检查是否生效:命令行输入ant -v,出现以下表示成功 3)拷贝jar包:将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中 4)修改Jmeter的bin目录下jmeter.propert

Jmeter非命令行执行脚本

这次我们可以清晰地看到每个线程的执行情况.        这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令: -h 帮助 -> 打印出有用的信息并退出 -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter -t 测试文件 -> 要运行的 JMeter 测试脚本文件 -l 日志文件 -> 记录结果的文件 -r 远程执行 -> 启动远程服务 -H 代理主机 -> 设置 JMeter 使用的代理主机 -P 代理端口 -> 设置 JMeter

Jmeter 非 GUI 命令行执行脚本文件

介绍 进行性能测试时,Jmeter 官方文档声明是不建议在 GUI 执行的,此时需要用到命令行. 第一步:环境配置 把 Jmeter安装目录\bin 添加到 系统环境变量path 第二步:命令参数 -n    命令行模式-t 脚本路径-l 测试结果路径(jtl 或者 csv)-j 日志路径-r 分布式执行-R   远程服务器列表-g    生成测试报表-e       设置测试完成后生成测试报表-o       指定测试报表生成文件夹-H      代理服务器IP-P      代理服务器端口