陈奇网络工作室

CentOS使用expect批量远程执行脚本和命令

建设工作站服务器

有时会批量操作服务,例如将文件批量上传到服务,安装或运行软件等

命令和

脚本、服务重新启动、服务重新启动等,人工逐台操作特别繁琐,浪费人力。

在这种情况下,可以使用expect向目标服务器发送命令以实现批量操作。

下一个例子是

将centos上的文件批量复制到其他供应商,并运行相应的文件

命令

在centos上安装执行

yuminstallexpect

创建导出

脚本copyfilebatch.sh

以下脚本将一个rc.local文件从intranet IP为192.168.0.102复制到192.168.0.112的服务器上,并在复制成功后运行chmod命令,以分别将每个服务器复制到服务器上

#! /usr/bin/expect-f

setpasswordrootpassword

for{seti102}{$i=112}{incri}{

设置和映射; #039; 192.168.0.$i& #039;

puts& #039; $ip& #039;

spawn ssh-ostricthostkeychecking=no $ IP

settimeout3

expect& #039; root@$ip& #039; spassword:& #039;

settimeout3

send& #039; $password\\\\r& #039;

settimeout3

send& #039; exit\\\\r& #039;

spawn scp/home/install/RC.local root @ $ IP:/etc/RC.d/RC.local

settimeout3

expect& #039; root@$ip& #039; spassword:& #039;

settimeout3

send& #039; $password\\\\r& #039;

settimeout3

send& #039; exit\\\\r& #039;

spawnsshroot@$ip

expect{ (

& #039; *是/否& amp; #039; {send& #039; 是\\\ r & amp; #039; exp_continue}

& #039; *password:& #039; {send& #039; $password\\\r& #039; }

}

expect& #039; #*& #039;

#要执行的命令

send& #039; chmodx/etc/RC.d/RC.local\\\r & amp; #039;

send& #039; reboot\\\\r& #039;

send& #039; exit\\\\r& #039;

导出

}

以上是本文的全部内容,希望对大家的学习有帮助

原文如下。

33559 www.Linux probe.com/expect-batch-command.html

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3