免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5888 | 回复: 8
打印 上一主题 下一主题

[系统管理] shell自动登录telnet后执行命令等待命令结束怎么实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-04 12:22 |只看该作者 |倒序浏览
function my_telnet
{
    REMOTE_HOST=$1
    USERNAME=$2
    PASSWORD=$3
    DEST_DIR=$4
    COMMAND=$5
   
    #exec telnet
    (
        sleep 1
        echo $USERNAME
        sleep 1
        echo $PASSWORD

        #########command start##########
        sleep 2
        echo "cd $DEST_DIR"
        sleep 2
        echo "pwd"
        sleep 3
        echo "sh $COMMAND"
        sleep 3
        #########command end############

        echo "exit"

    ) | telnet ${REMOTE_HOST}

    echo "==结束telnet主机[${REMOTE_HOST}] 用户[${USERNAME}] 目录[${DEST_DIR}]......"
}


  
my_telnet  x.x.x.x  abc  123456  /billing/billing/user/zsfl/shell/  shell_sleep.sh


exit 0


因为 shell_sleep.sh  需要执行5分钟,但是telnet只等待3秒,
我需要在telnet中等待命令执行结束才能返回功能,这个怎么实现?

论坛徽章:
1
天蝎座
日期:2013-08-22 15:14:44
2 [报告]
发表于 2013-09-04 13:03 |只看该作者
回复 1# wife1314


    export TMOUT=360;

论坛徽章:
0
3 [报告]
发表于 2013-09-04 13:33 |只看该作者
回复 2# guogang225

不行啊, 我的意思是有没有办法在telnet中判断执行的shell结束

   

论坛徽章:
9
2015亚冠之阿尔纳斯尔
日期:2015-09-10 16:21:162015亚冠之塔什干火车头
日期:2015-07-01 16:23:022015年亚洲杯之巴勒斯坦
日期:2015-04-20 17:19:46子鼠
日期:2014-11-13 09:51:26未羊
日期:2014-08-28 18:13:36技术图书徽章
日期:2014-02-21 09:30:15酉鸡
日期:2014-01-14 11:12:49天蝎座
日期:2013-12-09 17:56:53平安夜徽章
日期:2015-12-26 00:06:30
4 [报告]
发表于 2013-09-04 13:35 |只看该作者
expect ?

论坛徽章:
0
5 [报告]
发表于 2013-09-04 13:39 |只看该作者
回复 4# HH106

企业级主机,不能随意安装软件
   

论坛徽章:
0
6 [报告]
发表于 2013-09-04 13:41 |只看该作者
回复 5# wife1314

像wait之类的功能或其他方式能判断在telnet中的shell执行结束再退出telnet

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
7 [报告]
发表于 2013-09-04 14:23 |只看该作者
  1.         echo "sh $COMMAND"
  2.         sleep 3
复制代码
你说的等待三秒是因为这里的 sleep 3 吗?那加大一些数值不就可以了?

论坛徽章:
0
8 [报告]
发表于 2013-09-04 15:14 |只看该作者
回复 7# seesea2517

因为是批量主机telnet执行一些操作。
不能精确设置啊,太长效率底,短了不够用.

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
9 [报告]
发表于 2013-09-04 16:19 |只看该作者
回复 8# wife1314


    能不能做成参数来设定,根据不同的情况传不同的参数来调整呢。当然这个还是一个估计值就是了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP