写一个远程监控linux服务器磁盘容量的程序,当低于100g时发出预警 使用Java实现
时间: 2024-03-20 19:40:39 浏览: 70
好的,下面是一个简单的 Java 实现,可以通过 SSH 连接到远程 Linux 服务器,监控磁盘容量,并在磁盘空间低于 100G 时发出预警:
```java
import com.jcraft.jsch.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class DiskSpaceMonitor {
public static void main(String[] args) {
String host = "your-hostname-or-ip";
String username = "your-username";
String password = "your-password";
int port = 22;
String command = "df -h /";
try {
JSch jsch = new JSch();
Session session = jsch.getSession(username, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
ChannelExec channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(command);
InputStream in = channel.getInputStream();
channel.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
if (line.startsWith("/dev/")) {
String[] parts = line.split("\\s+");
String capacityStr = parts[3].replace("%", "");
int capacity = Integer.parseInt(capacityStr);
if (capacity < 10) {
System.out.println("Warning: disk space is running low.");
}
}
}
channel.disconnect();
session.disconnect();
} catch (JSchException | IOException e) {
e.printStackTrace();
}
}
}
```
以上代码中,我们使用了 JSch 库来连接远程 Linux 服务器,执行 `df` 命令获取磁盘使用情况,然后解析命令输出,判断磁盘使用情况是否低于 10%,如果低于 10%,就输出预警信息。你可以根据实际需求进行修改。
阅读全文