IT pass HikiWiki - [Memo2008][EPA]tako作業メモ(中本)(080801) Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}

[((<EPAサーバ構築ドキュメント>)) へ戻る]

= システムログメールの設定 (quota に関して追加)

== スクリプトの設置

((<[EPA]システムログメールの設定#自作スクリプトの設置>)) に
ある status-quota は, quota を / (ルートディレクトリ) にかけた
場合のスクリプトである.

tako では, quota は /home にかけているので, status-quota の
中身は以下のようにする. (修正後ヴァージョン)

#!/bin/sh

#top level directory in filesystem with quota
QDIR=/home

#PATH
REPQUOTA=/usr/sbin/repquota
CUT=/usr/bin/cut
SED=/bin/sed
SORT=/usr/bin/sort
TAIL=/usr/bin/tail
GREP=/bin/grep
AWK=/usr/bin/awk
PRINTF=/usr/bin/printf
ECHO=/bin/echo
WC=/usr/bin/wc
EXPR=/usr/bin/expr

LINES=`$REPQUOTA -v $QDIR | $WC -l`
LINES2=`$EXPR $LINES - 5` # 5 means header length of repquota
FMT="%-12s %8s %8s %8s\n"
USERS=`$REPQUOTA -v $QDIR | $TAIL -n $LINES2 | $GREP -v : | $SORT -nr -k 3 | $SED 's/\ \+/,/g' | $CUT -d, -f 1`

$ECHO -e "**** Disk quota status ****"
$PRINTF "$FMT" username usage slimit hlimit
for uname in $USERS; do
   $PRINTF "$FMT" `$REPQUOTA -sv $QDIR | $GREP $uname | $AWK '{print $1,$3,$4,$5}'`
done
$ECHO -e ""

この status-quota を /etc/cron.local/daily/401_status-quota として設置する.

さらに, これに実行権限を与える.

# chmod +x /etc/cron.local/daily/401_status-quota

これにて完了.