📅  最后修改于: 2023-12-03 15:10:55.466000             🧑  作者: Mango
在Linux系统中,我们可以使用Shell脚本来检查磁盘空间。以下是一些常用的命令和脚本。
df
命令是一个Linux/Unix中的磁盘空间查看命令。如果没有指定任何文件或目录名,则默认显示整个文件系统的可用空间、已用空间、及使用率等信息。
df -h
输出
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 9.8G 8.8G 53% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda2 558G 43G 514G 8% /home
其中,-h
表示使用人类可读的格式。
du
命令可以用于查看目录中每个文件的空间占用情况。
du -sh /path/to/directory
输出
500K /path/to/directory
其中,-s
选项可以汇总目录内所有文件的占用空间,-h
表示使用人类可读的格式。
我们还可以写一些自定义的Shell脚本来检查磁盘空间。以下是一个示例脚本用于检查磁盘空间是否过低,并发送警报通知。
#!/bin/bash
# 设置阈值
threshold=90
# 获取分区表信息,一行一次循环
while read partition size used free percent mountpoint
do
# 排除非磁盘分区
case $mountpoint in
/proc|/sys|/boot|/dev/shm|/run|/sys/fs/cgroup|/snap/core*|/var/lib/snapd/snap/*) continue ;;
esac
# 删除百分号符号
percent=${percent%\%}
# 比较空闲空间是否小于阈值
if [ $percent -ge $threshold ]
then
# 发送邮件告警
echo "Low disk space alert: $mountpoint has $percent% used ($free/$size)" | mail -s "Disk Space Alert" admin@admin.com
fi
done < <( df -hPT )
其中,df -hPT
命令输出文件系统的分区表。分区表中各列的含义如下:
Filesystem
: 文件系统名;Type
: 文件系统类型;Blocks
: 分区总大小;Used
: 已用空间;Avail
: 可用空间;Use%
: 使用率;Mounted on
: 挂载点路径。最后,括号中的< <( ... )
语法是bash中的一种进程替换方式,用于读取子进程(df -hPT
)的输出。
以上是在Linux系统中检查磁盘空间的一些方法和技巧。无论何种方法,都需要我们时刻关注磁盘空间的使用情况,以保障系统的稳定和可靠性。