ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

expect生产环境案例

2020-11-19 22:32:17  阅读:195  来源: 互联网

标签:4.6 0.00 环境 192.168 案例 expect password root


expect生产环境案例

5.1 实现自动交互的脚本
[root@G ~]# vim zd.exp
#!/usr/bin/expect
if { $argc != 2 } {
puts "usage: expect $argv0 ip command"
exit
}
#
set ip [lindex $argv 0]
set cmd [lindex $argv 1]
set password "666666"
#
spawn ssh root@$ip $cmd
expect {
"yes/no" {send "yes\r";exp_continue} &> /dev/null
"*password" {send "$password\r"} &> /dev/null
}
expect eof
脚本后加上ip和命令
[root@G ~]# expect zd.exp 192.168.4.5 uptime
spawn ssh root@192.168.4.5 uptime
root@192.168.4.5's password:
05:15:09 up 15 min, 2 users, load average: 0.00, 0.00, 0.00


5.2 利用for循环查看多台
现有2台服务器,需要用管理机去查看

ip地址主机名角色
     
192.168.4.4 G 管理机
192.168.4.5 b1 被管理机
192.168.4.6 b2 被管理机



[root@G ~]# vim pl.sh
#!/bin/bash
if [ $# -ne 1 ];then
echo $"USAGE:$0 cmd"
exit 1
fi
cmd=$1
for n in 5 6
do
expect zd.exp 192.168.4.$n "$cmd"
done

[root@G ~]# sh pl.sh uptime
spawn ssh root@192.168.4.5 uptime
root@192.168.4.5's password:
01:00:21 up 36 min, 2 users, load average: 0.00, 0.00, 0.00
spawn ssh root@192.168.4.6 uptime
root@192.168.4.6's password:
01:00:21 up 35 min, 2 users, load average: 0.00, 0.00, 0.00


5.3 免交互发送文件
[root@G ~]# vim scpfile.exp
#!/usr/bin/expect
if { $argc != 3 } {
puts "usage: expect $argv0 file host dir"
exit
}
#
set file [lindex $argv 0]
set host [lindex $argv 1]
set dir [lindex $argv 2]
set password "666666"
spawn scp -rp -P22 $file root@$host:$dir
expect {
"yes/no" {send "yes/r";exp_continue}
"*password" {send "$password\r"}
}
expect eof

发送文件
[root@G ~]# expect scpfile.exp abc 192.168.4.6 /root/
spawn scp -rp -P22 abc root@192.168.4.6:/root/
root@192.168.4.6's password:
查看发送结果
[root@G ~]# expect zd.exp 192.168.4.6 ls
spawn ssh root@192.168.4.6 ls
root@192.168.4.6's password:
abc
anaconda-ks.cfg
install.log
install.log.syslog


5.4 利用shell循环批量发送文件
[root@G ~]# vim scpfile.sh
#!/bin/bash
if [ $# -ne 2 ];then
echo $"USAGE:$0 file dir"
exit 1
fi
#
file=$1
dir=$2
for n in 5 6
do
expect scpfile.exp $file 192.168.4.$n $dir
done

[root@G ~]# sh scpfile.sh wangluyu /root/
spawn scp -rp -P22 wangluyu root@192.168.4.5:/root/
root@192.168.4.5's password:
spawn scp -rp -P22 wangluyu root@192.168.4.6:/root/
root@192.168.4.6's password:

标签:4.6,0.00,环境,192.168,案例,expect,password,root
来源: https://www.cnblogs.com/xiaofeng666/p/14008130.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有