运用执行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
代码:
/**
*
* @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();
}
}
}
测试代码:
String remoteDir = "/usr/local/test/";
try {
CommandRunner.rmDirectoryNotEmptyByShellScript("172.16.18.141", "root",
"123456", remoteDir, 22);
} catch (IOException e) {
e.printStackTrace();
}
此方法相对之前的方法将简单许多,其充分利用了已有api的功能;