df出力で読み取り専用ファイルシステムをフィルタリングする方法は?

df出力で読み取り専用ファイルシステムをフィルタリングする方法は?

私はこれを使ってdfマウントされたファイルシステムがいっぱいであることを確認します。私はそのうちの1つでも90%以上の使用量を得たら私に電子メールを送るcronタスクを持っています。

問題は、一部のアプリケーション(Ubuntuディストリビューション)がスナップを使用して、そのアプリケーション用に特別にマウントされた読み取り専用ファイルシステムを作成することです。報告されているように常に100%いっぱいですdf。読み取り専用で完璧にできないので、これは適切だと思います。df出力から除外したいです。

df-x, --exclude-type=TYPE役に立つコマンドラインフラグがありますが、マニュアルページには可能な値が文書化されていないため、TYPEそれを使用して読み取り専用ファイルシステムを除外できるかどうかはわかりません。

df以下は私のシステムの1つの出力例です。

$ 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

これらのフルスナップショットエントリと、後で読み取り専用でマウントできる他のファイルシステムの両方を削除したいと思います。

ベストアンサー1

はい、ファイルシステムのリストに対するスナップの侵入は迷惑になる可能性があります。

あなたは正しいですdf -x-スナップクラフトすべてのスナップショットは読み取り専用のSquashfsファイルシステムを使用するため、以下を使用してすべてをフィルタリングできます。

df -xsquashfs

おすすめ記事