ナビゲーション
FrontPage
FreeBSD
Linux
Citrix XenServer
VMware ESXi
Unixコマンド
MySQL
PostgreSQL
Windows
CMS/CRM
クラウド
用語
PHPスクリプト
Bashシェルスクリプト
Rubyスクリプト
開発日記
検索
ツールボックス
新しいページの作成
バックアップの表示
外部のリンク元
最近更新したページ
全ページ
ヘルプ
凍結
アップロード
ページ名の変更
最新の40件
2016-08-17
Linux/NagiosQL
Linux/CentOSチューニング
2016-02-23
Linux/ソフトウェアRAID復旧手順
2016-02-18
FreeBSD/DHCP
FreeBSD/squid
2016-02-15
Unixコマンド/file
2016-02-05
FreeBSD/DynaBook
FreeBSD/Linux compatibility
2016-01-21
PHPスクリプト/PEAR DBインストールできない
PHPスクリプト/PEAR DB
2016-01-20
PHP/フレームワーク/Zend Framework
PHP/フレームワーク
FreeBSD/Postfix+amavisd+clamav
2016-01-15
FreeBSD/sl
2015-12-04
Unixコマンド/dig
Unixコマンド/nslookup
Unixコマンド/traceroute
Linux/rsync
FreeBSD/rsync
Unixコマンド/vipw
2015-11-25
Linux/Postfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築
Linux/Postfix + postgrey
2015-11-24
Linux/Postfix + amavisd + clamav
2015-05-25
Unixコマンド/ifconfig
2015-05-23
Unixコマンド/netstat
Unixコマンド/route
Unixコマンド/lsof
Unixコマンド/disown
Unixコマンド/time
Unixコマンド/crontab
2015-05-22
Unixコマンド/nohup
Unixコマンド/fgとbg
Unixコマンド/nice
Unixコマンド/kill
Unixコマンド/jobs
Unixコマンド/restor
Unixコマンド/dump
Unixコマンド/uncompress
Unixコマンド/compress
Unixコマンド/zcat
total:
1999
today:
1
yesterday:
0
now:
1
本文
ノート
?
編集
差分
一覧
FreeBSD/quota警告 の編集
*ユーザへのquota警告 [#q2a8416f] ユーザにtelnet/SSHなどの接続を許していない場合では、何かしらでどの程度の容量を使っていて、警告時には電子メールなどでお知らせをしてあげる必要があるでしょう。 #!/bin/sh POSTMASTER=postmater EXECDATE=`date +%Y.%m.%d|awk '{print $0}'` quotafile=`/usr/sbin/repquota /usr | grep -v '\-\-' | grep grep -e days -e none -e : | \ sort -k1 | awk '{print $1}'` TMPFILE1=/tmp/qalert1.$$ TMPFILE2=/tmp/qalert2.$$ TMPFILE3=/tmp/qalert3.$$ echo "To: $POSTMASTER" echo "Subject: QUOTA Check Shell $EXECDATE" echo echo "--- QUOTA messenge Shell 1.0 By F.Kimura $EXECDATE ---" for linefiles in ${quotafile} do AFTERDAY=`/usr/sbin/repquota /usr | grep -v '\-\-' | grep $linefiles |awk '{print $6}'` echo -n $linefiles echo -e "\t: " $AFTERDAY echo "To: $linefiles" > $TMPFILE1 echo "From: postmaster@example.jp" >> $TMPFILE1 echo "X-Comment: EXAMPLE Warning mail" >> $TMPFILE1 echo "Reply-To: support@example.jp" >> $TMPFILE1 echo "Subject: [SUPPORT] Alert Messages From Administrator" >> $TMPFILE1 cat /tmp/qalert1.$$ > /tmp/qalert2.$$ sed -e 's!%%SENDDATE%%!'$EXECDATE'!g' \ -e 's!%%AFTERDAY%%!'$AFTERDAY'!g' \ /etc/QUOTA.Messages >> /tmp/qalert2.$$ /usr/local/bin/nkf -ej /tmp/qalert2.$$ > /tmp/qalert3.$$ /usr/sbin/sendmail $linefiles < $TMPFILE3 rm $TMPFILE1 $TMPFILE2 rm $TMPFILE3 done echo '------------------------------------------------------' exit 0 なんか無理矢理だけどやりたいイメージはこんな感じ。/etc/QUOTA.Messages というファイルをEUCで作ったメッセージ文章としておけば、後はcrontabで日に1回以上動かしてあげれば、自動的に配信される(予定)です。 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- サービスご利用の皆様へ 【ディスク利用制限超過のお知らせ】 いつもサービスをご利用いただきありがとうございます。 さて、貴殿に割り当てているサーバ上のディスク容量が既に契約値を超 えた状態となっており %%AFTERDAY%% 以内に制限値以下にしていただ けなかった場合には、電子メールなどの受信ができなくなりますのでご 注意ください。 契約量の変更やディスク上のファイルの削除方法にお聞きになりたい場 合には会員サポートまでお問い合わせください。 TO Custmers FROM your service Administrator: Grace Time: %%AFTERDAY%% Your mailbox on the server is now more than "Soft Limits". So that you can continue to receive mail you need to remove some messages from your mailbox. %%SENDDATE%% _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ イメージはこんな感じですので適当に文章等は作成してください。 サポートを行うこちら側に、誰にメールをしたのかを把握しておきたい気持ちはあるので、こんなのも。 後半部分は不要かも。/homeが溢れちゃって、/varにたまっている場合の量を見るために加えただけなので。 以下は実行のための一例です。お好きな形で行ってくれればいいです。 [/etc/crontab] #minute hour mday month wday who command 05 17 * * * root /bin/sh /etc/quota/quota_check.sh 2>&1 /dev/null | /usr/sbin/sendmail postmaster [quota_check.sh] #!/bin/sh POSTMASTER=postmaster EXECDATE=`date +%Y.%m.%d|awk '{print $0}'` echo "To: $POSTMASTER" echo "Subject: QUOTA Check Shell $EXECDATE" echo echo "--- QUOTA Check Shell 1.0 By F.Kimura $EXECDATE ---" /usr/sbin/repquota /usr/home | grep -v '\-\-' echo echo "--- /var/mail file exist User List" ls -la /var/mail | awk '{print $3 " " $5}' | grep -v " 0" | grep -v ^"root " | grep -v ^"foo " echo echo '------------------------------------------------------'
タイムスタンプを変更しない
*ユーザへのquota警告 [#q2a8416f] ユーザにtelnet/SSHなどの接続を許していない場合では、何かしらでどの程度の容量を使っていて、警告時には電子メールなどでお知らせをしてあげる必要があるでしょう。 #!/bin/sh POSTMASTER=postmater EXECDATE=`date +%Y.%m.%d|awk '{print $0}'` quotafile=`/usr/sbin/repquota /usr | grep -v '\-\-' | grep grep -e days -e none -e : | \ sort -k1 | awk '{print $1}'` TMPFILE1=/tmp/qalert1.$$ TMPFILE2=/tmp/qalert2.$$ TMPFILE3=/tmp/qalert3.$$ echo "To: $POSTMASTER" echo "Subject: QUOTA Check Shell $EXECDATE" echo echo "--- QUOTA messenge Shell 1.0 By F.Kimura $EXECDATE ---" for linefiles in ${quotafile} do AFTERDAY=`/usr/sbin/repquota /usr | grep -v '\-\-' | grep $linefiles |awk '{print $6}'` echo -n $linefiles echo -e "\t: " $AFTERDAY echo "To: $linefiles" > $TMPFILE1 echo "From: postmaster@example.jp" >> $TMPFILE1 echo "X-Comment: EXAMPLE Warning mail" >> $TMPFILE1 echo "Reply-To: support@example.jp" >> $TMPFILE1 echo "Subject: [SUPPORT] Alert Messages From Administrator" >> $TMPFILE1 cat /tmp/qalert1.$$ > /tmp/qalert2.$$ sed -e 's!%%SENDDATE%%!'$EXECDATE'!g' \ -e 's!%%AFTERDAY%%!'$AFTERDAY'!g' \ /etc/QUOTA.Messages >> /tmp/qalert2.$$ /usr/local/bin/nkf -ej /tmp/qalert2.$$ > /tmp/qalert3.$$ /usr/sbin/sendmail $linefiles < $TMPFILE3 rm $TMPFILE1 $TMPFILE2 rm $TMPFILE3 done echo '------------------------------------------------------' exit 0 なんか無理矢理だけどやりたいイメージはこんな感じ。/etc/QUOTA.Messages というファイルをEUCで作ったメッセージ文章としておけば、後はcrontabで日に1回以上動かしてあげれば、自動的に配信される(予定)です。 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- サービスご利用の皆様へ 【ディスク利用制限超過のお知らせ】 いつもサービスをご利用いただきありがとうございます。 さて、貴殿に割り当てているサーバ上のディスク容量が既に契約値を超 えた状態となっており %%AFTERDAY%% 以内に制限値以下にしていただ けなかった場合には、電子メールなどの受信ができなくなりますのでご 注意ください。 契約量の変更やディスク上のファイルの削除方法にお聞きになりたい場 合には会員サポートまでお問い合わせください。 TO Custmers FROM your service Administrator: Grace Time: %%AFTERDAY%% Your mailbox on the server is now more than "Soft Limits". So that you can continue to receive mail you need to remove some messages from your mailbox. %%SENDDATE%% _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ イメージはこんな感じですので適当に文章等は作成してください。 サポートを行うこちら側に、誰にメールをしたのかを把握しておきたい気持ちはあるので、こんなのも。 後半部分は不要かも。/homeが溢れちゃって、/varにたまっている場合の量を見るために加えただけなので。 以下は実行のための一例です。お好きな形で行ってくれればいいです。 [/etc/crontab] #minute hour mday month wday who command 05 17 * * * root /bin/sh /etc/quota/quota_check.sh 2>&1 /dev/null | /usr/sbin/sendmail postmaster [quota_check.sh] #!/bin/sh POSTMASTER=postmaster EXECDATE=`date +%Y.%m.%d|awk '{print $0}'` echo "To: $POSTMASTER" echo "Subject: QUOTA Check Shell $EXECDATE" echo echo "--- QUOTA Check Shell 1.0 By F.Kimura $EXECDATE ---" /usr/sbin/repquota /usr/home | grep -v '\-\-' echo echo "--- /var/mail file exist User List" ls -la /var/mail | awk '{print $3 " " $5}' | grep -v " 0" | grep -v ^"root " | grep -v ^"foo " echo echo '------------------------------------------------------'
テキスト整形のルールを表示する
ログインまたはアカウント作成