OpenMediaVaultでShared Foldersの使用容量を表示する一行野郎
OpenMediaVaultで、1パーティションに3つの共有フォルダを作ったんですが、WebGUI上でパーティション全体の使用容量は見れるものの、各共有フォルダの個別の使用容量はわかりません。
SSHでシェルに入ればduコマンドで確認できるけど、そんなのいちいち面倒くさい。
WebGUIにそういうページを作ってもいいけど、時間がかかることは必至。
ラクに済ませるにはどうしたら良いか。
WebGUIを見たところsyslogを表示するページがある。
じゃあここに出力すればラクじゃないか。
ということで、
duで共有フォルダの使用容量を計算し、loggerでsyslogに出力することにしました。
コマンドはこちら。
これをWebGUIからcronに登録し、1時間毎に実行します。
(ちなみにEvery N hour にチェックを入れて1時間毎に実行しようとすると、なぜか1分毎に実行されてしまうので、毎時0分に実行する設定にしました)
毎時0分に実行されるのでsyslogで該当部分を見ると、下記のように3つの共有フォルダの使用容量が出力されていることがわかります。
これでめでたくsyslogページにShared Foldersの使用容量が表示されるようになりました。
メデタシメデタシ。
コマンドはこちら。
OpenMediaVaultではNFSで共有をかけると、/exportという場所に自動的にリンクを張ってくれる親切設計なので、それを利用しています。
ついでにdfコマンドでディスク自体の使用容量も書き出しています。
SSHでシェルに入ればduコマンドで確認できるけど、そんなのいちいち面倒くさい。
WebGUIにそういうページを作ってもいいけど、時間がかかることは必至。
ラクに済ませるにはどうしたら良いか。
WebGUIを見たところsyslogを表示するページがある。
じゃあここに出力すればラクじゃないか。
ということで、
duで共有フォルダの使用容量を計算し、loggerでsyslogに出力することにしました。
コマンドはこちら。
cd /media/hdd_guid/path/; du -hs * | sed "s/\t/ /" | logger
- cdコマンドで共有フォルダの置いてある場所に移動
- duで各フォルダの使用容量を計算
- sedでタブ文字を空白に変換(そのままだと文字化けするので)
- loggerでsyslogに書き込み
これをWebGUIからcronに登録し、1時間毎に実行します。
(ちなみにEvery N hour にチェックを入れて1時間毎に実行しようとすると、なぜか1分毎に実行されてしまうので、毎時0分に実行する設定にしました)
毎時0分に実行されるのでsyslogで該当部分を見ると、下記のように3つの共有フォルダの使用容量が出力されていることがわかります。
これでめでたくsyslogページにShared Foldersの使用容量が表示されるようになりました。
メデタシメデタシ。
追記:
その後さらに、いちいちログインしてsyslogページを開くのも面倒なので、共有フォルダに使用容量をテキストで書き出すようにしました。コマンドはこちら。
df -h > /export/share/diskusage.txt; du -hs /export/* >> /export/share/diskusage.txtこちらのコマンドはNFSの使用が前提になっています。
OpenMediaVaultではNFSで共有をかけると、/exportという場所に自動的にリンクを張ってくれる親切設計なので、それを利用しています。
ついでにdfコマンドでディスク自体の使用容量も書き出しています。