WEB开发网
开发学院操作系统Linux/Unix Expect 在网络管理中发挥着重要作用 阅读

Expect 在网络管理中发挥着重要作用

 2008-11-13 08:29:20 来源:WEB开发网   
核心提示: 当您运行这个脚本时,将看到与清单 5 所示类似的结果,Expect 在网络管理中发挥着重要作用(8),清单 5. 运行清单 4 所得到的结果 RECEIVED:echo `date`; sleep 1; echo `date`; echo '1 done on 7.' Mo

当您运行这个脚本时,将看到与清单 5 所示类似的结果。

清单 5. 运行清单 4 所得到的结果

    RECEIVED: echo `date`; sleep 1; echo `date`; echo '1 done on 7.'
    Mon Apr 23 22:15:15 UTC 2007
    Mon Apr 23 22:15:16 UTC 2007
    1 done on 7.
    RECEIVED: echo `date`; sleep 2; echo `date`; echo '2 done on 6.'
    Mon Apr 23 22:15:15 UTC 2007
    Mon Apr 23 22:15:17 UTC 2007
    2 done on 6.
    RECEIVED: echo `date`; sleep 3; echo `date`; echo '3 done on 5.'
    Mon Apr 23 22:15:15 UTC 2007
    Mon Apr 23 22:15:18 UTC 2007
    3 done on 5.
     ...
    RECEIVED: echo `date`; sleep 8; echo `date`; echo '8 done on 0.'
    Mon Apr 23 22:15:14 UTC 2007
    Mon Apr 23 22:15:22 UTC 2007
    8 done on 0.

在编程的层次上,请注意,所有这些登录都是通过基于密码的 ssh 登录到相同的主机,并使用相同的用户和密码凭据。在一个更实际的示例中,可以通过更多行的代码来管理各个不同的主机,对每个主机使用不同的帐号和登录协议。尽管对于那些对网络管理员非常有 价值的命令,sleep 是一个很好的模型;但是没有理由先睡眠数秒钟,然后再返回。

即使这个示例,也无法尽述 Expect 的所有功能。Expect 还提供了使用一个内置的套接字编程接口,直接管理 TCP/IP 对话的功能,并且它可以实现半自动化,在两种不同的模式之间来回切换,用户在其中一种模式中输入部分对话,而 Expect 在另一种模式中实现所有操作的自动化。

我们将在以后的文章中介绍这些主题。本文的目标是,展示 Expect 中包含了大多数管理员并不知道的许多内容,具体来说是了解了该工具后,马上就能够解决网络管理工作中各种常见的问题。在脚本中使用密码和密码条目,以及并发地控制多个连接,这些功能都是非常强大的。

总结

Expect 可以完成所有看起来无法实现自动化的工作:在脚本中使用密码条目、登录到远程用户的会话和返回对他或者她的控制,以及更多的工作。尽管它已经得到了广泛使用,但是 Expect 却常常被人们所误解。正确地理解有关 Expect 的一些基本知识(如何调用它、它的对话模型、它的编程辅助,等等),以便在系统和网络管理工作中更充分地发挥它的作用。

上一页  3 4 5 6 7 8 

Tags:Expect 网络管理 发挥

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接