编写一个获取内存信息的shell脚本,并指定定时任务
时间: 2024-10-13 21:07:46 浏览: 34
shell命令与定时任务
编写一个获取内存信息的Shell脚本通常会使用`free`命令,它显示Linux系统中可用物理内存和交换空间的信息。下面是一个简单的示例:
```bash
#!/bin/bash
# 定义函数get_memory_info
function get_memory_info() {
echo "Total Memory: $(free -m | grep Mem | awk '{print $2,$4}')"
echo "Free Memory: $(free -m | grep Mem | awk '{print $6}')"
echo "Memory Usage: $(free -m | awk '/Mem/{printf("%.2f"),$3/$2*100.0}%')%"
}
# 每5分钟运行一次内存信息获取
while true; do
get_memory_info
sleep 300 # 等待300秒,即5分钟
done
```
这个脚本首先定义了一个名为`get_memory_info`的函数,它会打印出总内存、空闲内存以及内存使用率。然后通过一个无限循环,每隔5分钟(`sleep 300`)调用一次这个函数。
如果你想要设置一个定时任务,可以参考Linux系统的crontab功能,它允许用户安排定期运行的任务。例如,你可以将上述脚本保存为`mem_monitor.sh`,然后添加到crontab中,使其每5分钟执行一次,命令如下:
```bash
crontab -e
```
然后在编辑器中添加一行类似下面的内容:
```plaintext
*/5 * * * * /path/to/mem_monitor.sh
```
这行表示每一小时的第一分钟(`*/5`)执行`/path/to/mem_monitor.sh`文件。记得替换`/path/to/mem_monitor.sh`为你实际存放脚本的路径。
阅读全文