我df
用来检查我挂载的任何文件系统是否接近满。我有一个 cron 工作,如果其中任何一个的使用率超过 90%,就会向我发送电子邮件。
问题是现在使用 snap 安装了一些应用程序(Ubuntu 发行版),它创建了一个专门为该应用程序安装的只读文件系统。正如 报告的那样,它们总是 100% 满df
。我想这是合适的,因为它们是只读的并且不能更完整。我想将它们从df
输出中排除。
df
有一个-x, --exclude-type=TYPE
命令行标志,看起来它可能会有所帮助,但手册页没有记录可能的值,TYPE
所以我不确定是否可以使用它来排除只读文件系统。
df
这是我的一个系统上的输出示例:
$ df --output=pcent,target
Use% Mounted on
0% /dev
1% /run
7% /
1% /dev/shm
1% /run/lock
0% /sys/fs/cgroup
100% /snap/gnome-3-26-1604/74
100% /snap/gnome-characters/139
100% /snap/core/5662
100% /snap/gnome-system-monitor/57
100% /snap/gnome-calculator/238
100% /snap/gnome-logs/45
100% /snap/gtk-common-themes/701
100% /snap/core/5742
这是我由 cron 运行的脚本:
#!/bin/bash
set -e
THRESHOLD_PERCENT=90
host=`hostname -f`
df --output=pcent,target | while read line
do
if [[ "$line" != Use* ]]
then
percent=${line/\%*/};
if (( percent >= THRESHOLD_PERCENT ))
then
file=${line/* /}
echo "$percent% disk usage on $host:$file"
fi
fi
done
我想删除所有这些完整的快照条目以及将来可能以只读方式安装的任何其他文件系统。