您的位置:首页 > 运维架构 > Shell

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

2014-04-18 16:04 886 查看
运用执行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





/** 
     *  
     * @param host 
     * @param username 
     * @param password 
     * @param remoteDerectory 
     * @param port 
     * @throws IOException 
     */  
    public static void rmDirectoryNotEmptyByShellScript(String host,  
            String username, String password,  
  
            String remoteDerectory, int port) throws IOException {  
  
        if (logger.isInfoEnabled()) {  
  
            logger.info("rm [" + remoteDerectory + "] is " + host  
                    + remoteDerectory);  
  
        }  
  
        Connection conn = null;  
  
        Session sess = null;  
  
        try {  
  
            String cmd = " rm -rf " + remoteDerectory;  
  
            conn = getOpenedConnection(host, username, password, port);  
  
            sess = conn.openSession();  
  
            sess.execCommand(cmd);  
  
        } finally {  
  
            if (null != sess) {  
  
                sess.close();  
  
            }  
  
            if (null != conn) {  
  
                conn.close();  
  
            }  
        }  
    }  

测试代码:

[java]
view plaincopy





String remoteDir = "/usr/local/test/";  
  
try {  
  
    CommandRunner.rmDirectoryNotEmptyByShellScript("172.16.18.141", "root",  
            "123456", remoteDir, 22);  
      
} catch (IOException e) {  
    e.printStackTrace();  
}  

此方法相对之前的方法将简单许多,其充分利用了已有api的功能;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: