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的功能;
目录结构:
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的功能;
相关文章推荐
- Ganymed SSH-2 for Java系列7之删除远程服务器上的非空目录(运用执行shell脚本的方式)
- Ganymed SSH-2 for Java系列7之删除远程服务器上的非空目录(方法说明)
- Ganymed SSH-2 for Java系列6之删除远程服务器上的非空目录
- Ganymed SSH-2 for Java系列6之删除远程服务器上的非空目录
- Ganymed SSH-2 for Java系列7之删除远程服务器上的非空目录(方法说明)
- Ganymed SSH-2 for Java系列5之删除远程服务器上的目录(补充说明)
- Ganymed SSH-2 for Java系列5之删除远程服务器上的目录(补充说明)
- Ganymed SSH-2 for Java系列5之删除远程服务器上的目录
- Ganymed SSH-2 for Java系列5之删除远程服务器上的目录
- Ganymed SSH-2 for Java系列4之删除远程服务器上的文件
- Ganymed SSH-2 for Java系列3之执行远程shell 命令
- Ganymed SSH-2 for Java系列3之执行远程shell 命令
- Ganymed SSH-2 for Java系列4之删除远程服务器上的文件
- Ganymed SSH-2 for Java系列2之连接远程服务器
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息
- Ganymed SSH-2 for Java系列2之连接远程服务器
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息
- Java实践 — SSH远程执行Shell脚本
- 使用shell脚本删除当前目录下.c文件对应的可执行文件
- Java通过SSH2协议执行远程Shell脚本