expect结合ssh遍历线上机器

本文介绍了一个用于远程检查特定文件是否存在于目标机器上的Shell脚本。该脚本使用expect进行SSH登录,并通过正则表达式判断文件是否存在,最后以不同颜色输出结果。

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

有个需求,有个文件删除了,但是不确定线上机器还都存不存在


#!/home/work/.jumbo/bin/expect -f set timeout -1 set mac [lindex $argv 0] set password "***" spawn ssh username@$mac expect { "(yes/no)?" { send "yes\r" expect "*password:" { send "$password\r"} } "*password:" { send "$password\r"} } expect { "*password:" { send "\003" send_user "this mac nologin" } ".*" { send "cd /home/work/odp/data/app/searchbox/baiduboxapp/config/android/; ls\r" } } expect ".*"
#!/bin/bash
get_instance_by_service *** | while read mac
do
        echo $mac
        res=`./expect.sh $mac`
        if echo $res | grep -q 'this mac nologin'; then
                echo -e "\e[1;31m======nologin\e[0m"
        elif echo $res | grep -q 'opact'; then
                echo -e "\e[1;33m======has\e[0m"
        else
                echo -e "\e[1;32m======no\e[0m"
        fi
done

 

转载于:https://www.cnblogs.com/bai-jimmy/p/4100819.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值