Ganymed SSH-2 for Java系列7之删除远程服务器上的非空目录(运用执行shell脚本的方式)

来源:互联网 发布:51淘宝小号交易平台 编辑:程序博客网 时间:2024/04/29 02:53

运用执行shell脚本的方式删除服务器上的非空目录:


目录结构:

file list is::
/usr/local/test/tt.txt
/usr/local/test/tt/t.txt
directory list is::
/usr/local/test/tt/t
/usr/local/test/tt
/usr/local/test

代码:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. /** 
  2.      *  
  3.      * @param host 
  4.      * @param username 
  5.      * @param password 
  6.      * @param remoteDerectory 
  7.      * @param port 
  8.      * @throws IOException 
  9.      */  
  10.     public static void rmDirectoryNotEmptyByShellScript(String host,  
  11.             String username, String password,  
  12.   
  13.             String remoteDerectory, int port) throws IOException {  
  14.   
  15.         if (logger.isInfoEnabled()) {  
  16.   
  17.             logger.info("rm [" + remoteDerectory + "] is " + host  
  18.                     + remoteDerectory);  
  19.   
  20.         }  
  21.   
  22.         Connection conn = null;  
  23.   
  24.         Session sess = null;  
  25.   
  26.         try {  
  27.   
  28.             String cmd = " rm -rf " + remoteDerectory;  
  29.   
  30.             conn = getOpenedConnection(host, username, password, port);  
  31.   
  32.             sess = conn.openSession();  
  33.   
  34.             sess.execCommand(cmd);  
  35.   
  36.         } finally {  
  37.   
  38.             if (null != sess) {  
  39.   
  40.                 sess.close();  
  41.   
  42.             }  
  43.   
  44.             if (null != conn) {  
  45.   
  46.                 conn.close();  
  47.   
  48.             }  
  49.         }  
  50.     }  


测试代码:


[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. String remoteDir = "/usr/local/test/";  
  2.   
  3. try {  
  4.   
  5.     CommandRunner.rmDirectoryNotEmptyByShellScript("172.16.18.141""root",  
  6.             "123456", remoteDir, 22);  
  7.       
  8. catch (IOException e) {  
  9.     e.printStackTrace();  
  10. }  

此方法相对之前的方法将简单许多,其充分利用了已有api的功能;
0 0