<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: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 国产精品高清视亚洲精品| 曰批免费视频播放免费| 4338×亚洲全国最大色成网站| 日韩精品免费电影| a一级毛片免费高清在线| 亚洲精品A在线观看| 99精品视频免费在线观看| 亚洲AV无码专区在线观看成人 | 国产在线jyzzjyzz免费麻豆| 亚洲a∨无码精品色午夜| 久久久久亚洲av无码专区蜜芽 | 亚洲人成综合在线播放| 亚洲精品成人片在线观看| 久久青草国产免费观看| 特级毛片A级毛片100免费播放| 亚洲永久在线观看| 亚洲日韩中文字幕天堂不卡 | 最新国产乱人伦偷精品免费网站| 欧美亚洲国产SUV| 亚洲欧美综合精品成人导航| 91亚洲自偷手机在线观看| 久久精品国产亚洲夜色AV网站| 亚洲国产黄在线观看| 伊人久久大香线蕉免费视频| 亚洲国产精品久久网午夜| 国产精品亚洲а∨无码播放| 亚洲精品456播放| 亚洲第一福利网站在线观看| 国产一级大片免费看| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲免费在线观看视频| 18gay台湾男同亚洲男同| 亚洲精品私拍国产福利在线| 亚洲av无码国产精品色午夜字幕| 亚洲最大激情中文字幕| 亚洲午夜激情视频| 久久国产成人精品国产成人亚洲| 亚洲国产一区二区视频网站| 亚洲日韩精品无码专区网站| 亚洲精品无码久久不卡| 国产亚洲AV夜间福利香蕉149 |