<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kelefa  
    大千世界中,唯一缺乏的就是人類的注意力。
    日歷
    <2006年6月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678
    統計
    • 隨筆 - 11
    • 文章 - 0
    • 評論 - 28
    • 引用 - 0

    導航

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     
    ??????? kelefa是某公司的一個程序員,傳說他是一流的程序員,開發了一個系統非常穩定,從來沒有出現過問題,當然這世界上沒有完美的人,也沒有完美的軟件,這個系統也有bug,而且他已經發現了,但是一直沒有找到很好的辦法解決,還好這個bug很少有機會能發作,關鍵是一發生這種情況時嚴重影響系統的運行,停止服務后再重新啟動是目前最好的方法。

    ??????? 為了保住“高手”的稱號,他又搞了一個監控該系統的小程序,能及時發現系統是否工作正常,如果發現異常情況立刻發送email給自己,email又跟自己的手機短信綁定,使他能迅速的發現情況并跑到電腦前:
    //telnet進來后
    [root@kelefa?root]$?su?-
    [root@kelefa?root]$?password?
    [root@kelefa?root]#?cd?
    /usr/local/resin-3.0.14/bin
    [root@kelefa?bin]#?./httpd.sh??stop
    [root@kelefa?bin]#?.
    /httpd.sh??start

    一切又正常了,1分鐘內搞定,一流程序員再次得到驗證,可是email有時會發送失敗,sp的短信也不是絕對的正常,而且每個月還給n元大洋給sp,萬一收到告警短信旁邊沒有電腦也無能為力。

    ??????? 終于發現更好的方法:在監控程序里直接telnet到設備上進行操作,動手前當然要看看有什么開源的可以利用,它就是Jakarta的Commons Net,這個包支持ftp,telnet,pop3,smtp,nntp等協議。

    ??????? 首先實現一個telnet的基類,它有個connectAndDocommad()的方法,實現鏈接到指定的設備上,并啟動一個線程執行一個模板方法(某設計模式):


    ?? // 登陸
    ???log.debug( "login................" );
    ???if ( false == login() )
    ???{
    ????String msg = new Date().toString() + " telnet登陸不成功,ip:" + remoteip;
    ????log.warn( msg );
    ????SyslogUtil.send( msg );
    ????return;
    ???}

    ???log.debug( "doCommand................" );
    ???//?抽象方法
    ???doCommand();

    ???// 退出
    ???log.debug( "exit................" );
    ???exit();


    ??????? 其次類RestartTask繼承該抽象類,實現doCommand()抽象方法,往輸出流發送操作命令,實現重啟:

    @Override protected void doCommand()
    ?{
    ??log.debug( "resin restart................" );
    ??try
    ??{
    ???? writeLine("su -");????
    ???? writeLine("password");?
    ???? writeLine("cd /usr/local/resin-3.0.14/bin");
    ???? writeLine("./httpd.sh? stop");
    ???? writeLine("./httpd.sh? start");

    ???? readResult();
    ??}
    ??catch ( IOException e )
    ??{
    ???log.warn( e.getMessage() );
    ??}
    ?}


    以上為偽代碼,需要實現一些子方法, 如有雷同,純屬虛構!
    posted on 2006-06-30 23:52 楊杰榮 閱讀(5392) 評論(3)  編輯  收藏 所屬分類: 開源應用
    評論:
    • # re: 在java程序里telnet到遠端設備執行命令  JavaVM Posted @ 2006-07-07 00:31
      kalafa的確是個一流的程序員,不過人長的有點招警察(太彪漢了),呵呵 記得有一次和他一起出差,竟然被警察查。原因我想有二個,一是我太帥了,不知道是不是我的帥引起了警察叔叔的注意,還是kalafa將手放在胸口上,并不停的做出要掏出什么東西。  回復  更多評論   

    • # re: 在java程序里telnet到遠端設備執行命令  xiejitao Posted @ 2007-11-06 17:28
      大俠,能把你寫的代碼給我看看嗎?現在的代碼沒有涉及到我現在急需"在java程序里telnet到遠端設備執行命令"的具體實現.但由于水平有限,解決不了,還望高人多多指教.如過可能給發份代碼到我郵箱好嗎? 多謝! 郵箱:xiejitao2006@126.com  回復  更多評論   

    • # re: 在java程序里telnet到遠端設備執行命令  vavi Posted @ 2007-12-07 10:57
      回復ls的...
      你去google或baidu下
      搜索 commons-net-1.2.2.jar
      有例子程序的  回復  更多評論   

     
    Copyright © 楊杰榮 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 久久国产精品免费视频| 亚洲人成电影网站免费| 亚洲日本国产精华液| 日韩毛片免费无码无毒视频观看| 亚洲人成人无码.www石榴| 亚洲午夜日韩高清一区| 韩国免费一级成人毛片| 一级美国片免费看| 久久亚洲sm情趣捆绑调教| 国产成人免费A在线视频| 一级特黄录像免费播放中文版| 亚洲国产成人资源在线软件| 无码国产亚洲日韩国精品视频一区二区三区 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产免费AV片无码永久免费| a级片免费在线播放| 亚洲欧美第一成人网站7777| 亚洲AV永久精品爱情岛论坛| 免费看AV毛片一区二区三区| 免费A级毛片无码视频| 色吊丝免费观看网站| 波多野结衣亚洲一级| 亚洲国产三级在线观看| 国产免费拔擦拔擦8x| 精品香蕉在线观看免费| 国产线视频精品免费观看视频| 苍井空亚洲精品AA片在线播放 | 亚洲性色精品一区二区在线| 亚洲AV午夜福利精品一区二区| 国产福利免费观看| 黄+色+性+人免费| 青柠影视在线观看免费| 无忧传媒视频免费观看入口| 亚洲乱码日产精品BD在线观看| 国产成人99久久亚洲综合精品| 免费无码看av的网站| 青青青国产在线观看免费| 久久狠狠躁免费观看2020| 美女视频黄视大全视频免费的| 亚洲人成7777| 亚洲国产理论片在线播放|