Log files の料理方法

/var/adm の下なんかにログ・ファイルが作られています。ほっておいてもいいですが、徐々に大きくなって / をパンクさせてくれたりします。
まじめにログを読んでいる良い子じゃない人は、クリアしちゃいましょ。

最終更新日 : 1998 年 10 月 12 日


  1. 材料

    • Solaris がインストールされたコンピュータ。
      今回は Solaris2.6 / Ultra1 を素材にしました。

  2. スクリプトの作成

    ログファイルをクリアするスクリプトを作成しちゃいましょ。
    ログファイルを tar + compress して保存してから /dev/null をコピーして容量を 0 にしちゃってます。
    スクリプトはどこにあってもいいですが、 /var に作ってみました。

    # cd /var
    # vi log_clear

    #!/bin/sh
    # clearing log files
    # K.Shimizu 1998/10/13
    #
    (cd /var/adm;/bin/rm -f week_logs.tar.Z;/usr/sbin/tar cf week_logs.tar lastlog messages utmp utmpx wtmp wtmpx;/bin/compress week_logs.tar)
    /usr/bin/cp /dev/null /var/adm/lastlog
    /usr/bin/cp /dev/null /var/adm/messages
    /usr/bin/cp /dev/null /var/adm/utmp
    /usr/bin/cp /dev/null /var/adm/utmpx
    /usr/bin/cp /dev/null /var/adm/wtmp
    /usr/bin/cp /dev/null /var/adm/wtmpx
    #
    (cd /var/log;/bin/rm -f week_logs.tar.Z;/usr/sbin/tar cf week_logs.tar sysidconfig.log syslog;/bin/compress week_logs.tar)
    /usr/bin/cp /dev/null /var/log/sysidconfig.log
    /usr/bin/cp /dev/null /var/log/syslog
    #
    (cd /var/cron;/bin/rm -f week_logs.tar.Z;/usr/sbin/tar cf week_logs.tar log;/bin/compress week_logs.tar)
    /usr/bin/cp /dev/null /var/cron/log

    # chmod 755 log_clear

  3. スクリプトの試食

    作ったスクリプトを動かしてみましょ。きっと各ファイルの容量が 0 になって week_log.tar.Z なんてのができていると思いますよ。

    # /var/adm
    # ./log_clear
    # ls -al /var/adm
    # ls -al /var/log
    # ls -al /var/cron

  4. crontab の設定

    このままでは、動きませんので役に立ちません。 cron(1m) で起動させるようにしましょうね。
    下記の例の用に一行書き足します。例では、毎週金曜日の 12:30 に先ほどのスクリプトを起動するようになってます。

    # cd /var/spool/cron/crontabs
    # crontab -e root

    30 12 * * 5 /var/log_clear > /dev/null 2>&1

    crontab での書式は ... 本を読んでください。 (^^) まぁ、それではなんですので、先頭からの意味は、

    1. 分 ( 0 - 59 )
    2. 時間 ( 0 - 23 )
    3. 日 ( 1 - 31 )
    4. 月 ( 1 - 12 )
    5. 曜日 ( 1 - 7 ) 1 = Monday

  5. cron の試食

    金曜日になるまで待ちましょう。


[ Solaris 料理コーナー ] [ トップページ ]

BEKKOAME//INTERNET で公開していたページです。
作成: 1998 年 10 月 13 日〜 Copyright (C) 1998 Katsauki Shimizu <katsuaki-s @_nifty.com> All rights reserved.

access counter