运用执行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的功能;