请编写shell程序,监控Linux下的内存剩余空间和磁盘剩余容量,3秒查一次,将查询到的内存和磁盘剩余空间记录到文档中(后期可以用来排查是否有内存泄漏等问题),当内存小于500M磁盘容量磁盘空间小于5G时报警
时间: 2023-09-11 22:10:06 浏览: 81
以下是一个简单的Shell程序,用于监控Linux下的内存剩余空间和磁盘剩余容量,并将查询到的内存和磁盘剩余空间记录到文档中。当内存小于500M,磁盘容量小于5G时,会在终端上输出警告信息。
```shell
#!/bin/bash
while true
do
# 获取内存剩余空间,单位为MB
mem_free=$(free -m | awk 'NR==2{print $4}')
# 获取磁盘剩余空间,单位为GB
disk_free=$(df -h / | awk 'NR==2{print $4}')
# 输出信息到终端
echo "Memory free: ${mem_free}MB, Disk free: ${disk_free}"
# 记录信息到文件,使用追加模式
echo "$(date +%F\ %T),${mem_free},${disk_free}" >> monitor.log
# 如果内存小于500M或者磁盘容量小于5G,输出警告信息到终端
if [ ${mem_free} -lt 500 ] || [ $(echo ${disk_free} | sed 's/G//') -lt 5 ]
then
echo "Warning: Memory or Disk space is running low!"
fi
# 休眠3秒
sleep 3
done
```
你可以将以上内容保存为一个脚本文件(例如`monitor.sh`),并在终端中运行该脚本来启动监控程序。同时,程序会将查询到的信息记录到当前目录下的`monitor.log`文件中,你可以在后期用来排查问题。
阅读全文