shell脚本判断磁盘大小是否超过80%,如果超过就删除a.img
时间: 2024-03-01 11:54:58 浏览: 40
可以使用以下的脚本判断磁盘大小是否超过80%,并且删除a.img文件:
```bash
#!/bin/bash
# 获取磁盘使用情况
disk_usage=$(df / | awk '{print $5}' | tail -n 1 | sed 's/%//')
# 判断磁盘使用情况是否超过80%
if [ $disk_usage -gt 80 ]; then
# 删除a.img文件
rm -f a.img
fi
```
解释一下脚本的核心部分:
- `df /` 命令可以获取根目录的磁盘使用情况;
- `awk '{print $5}'` 可以提取出磁盘使用率这一列的数据;
- `tail -n 1` 可以只保留最后一行,也就是根目录的磁盘使用率;
- `sed 's/%//'` 可以将磁盘使用率中的百分号去掉,得到一个纯数字的使用率。
如果磁盘使用率超过80%,就会执行 `rm -f a.img` 命令删除a.img文件。
相关问题
shell脚本kill掉占用cpu超过90%以上的程序
在Linux系统中,通常使用ps命令来查看当前正在运行的进程列表,并利用awk命令对命令输出进行筛选和处理。
为了实现kill掉占用CPU超过90%以上的程序,我们可以先用ps命令获取当前系统中所有进程的CPU占用率,并结合awk命令统计CPU占用率超过90%的进程名及其进程ID。具体命令如下:
ps -eo pid,%cpu,comm | awk '$2 > 90 {print $1, $3}'
上述命令输出了CPU占用率超过90%的进程的PID和进程名称,接下来只需要使用kill命令将其杀死即可,命令如下:
ps -eo pid,%cpu,comm | awk '$2 > 90 {print $1}' | xargs kill
总体来讲,实现这个功能可以通过以下几个步骤完成:
1. 使用ps命令获取当前系统中所有进程的CPU占用率;
2. 结合awk命令筛选出CPU占用率超过90%的进程名及其进程ID;
3. 使用kill命令将其杀死。
需要注意的是,kill命令有可能会导致数据丢失和进程异常退出,因此在实际操作中,需要仔细分析和谨慎选择被杀死的进程。除非必要,否则不要滥用kill命令。
shell脚本如果磁盘空间占用大于80,输出该记录返回失败
可以使用以下的 shell 脚本来实现:
```
#!/bin/bash
# 获取磁盘空间占用率
disk_usage=$(df -h / | awk 'NR==2{print $5}' | sed 's/%//')
# 判断磁盘空间占用率是否大于80
if [ $disk_usage -gt 80 ]; then
echo "磁盘空间占用率已经超过80%,返回失败"
exit 1
else
echo "磁盘空间占用率正常"
exit
fi
```
当磁盘空间占用率大于80%时,输出"磁盘空间占用率已经超过80%,返回失败",并返回失败状态码1;否则输出"磁盘空间占用率正常",并返回成功状态码。