运维面经整理--代码篇--shell中的expect用法和shell编写监控

这篇博客介绍了expect工具如何帮助系统管理员自动化处理交互式任务,如在shell脚本中自动下载FTP文件和批量创建用户。此外,还探讨了shell脚本与监控组件结合,利用REST API进行故障告警的实现方法。
摘要由CSDN通过智能技术生成

##概述:
####expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。expect是不断发展的,随着时间的流逝,其功能越来越强大,已经成为系统管理员的的一个强大助手。简单的说,如果没有expect的话很多需要交互的场景我们就需要一直守在计算机前面进行输入,如果输入是主要步骤还好,我们输入完就结束任务了,那万一,我们有一个任务是在凌晨3点以root身份执行一个脚本呢,我们需要的输入只是一个密码,却要一直在电脑前等到3点,想想都很亏。

####总的来说,以前没有接触来expect这个东西,自己在写salt的时候,面对交互式的东西,不知道该从那里下手,现在有了这个东西,直接写成expect脚本,扔到salt一步倒位,想想确实很爽!

###情景一:
先来一个小菜尝一下:自动下载ftp里面的文件。

#!/usr/bin/expect
#

set action [lindex $argv 0]  #设置第一个参数
set fname  [lindex $argv 1]  #设置第二个参数

log_file lftp.log       #操作写成一个日志文件

spawn lftp 172.25.254.77   #先去连接ftp主机
expect "~>"                #捕捉信号
send "cd pub\r"            #发送信号
expect "pub>"
send "$action $fname\r"
send "exit\r"
expect eof```              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值