ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express リファレンスマニュアル(コマンド編)
Interstage

21.3 ihsrlog

名前

ihsrlog  -  ログファイルのローテーション

形式

(1) 時刻単位のローテーション

ihsrlog -T logfile time[,...] count [-l maxsize] [-m mode] [-r]

(2) 日付単位・時刻指定のローテーション

ihsrlog -C logfile date[,...] count [-t time] [-l maxsize] [-m mode] [-r]

(3) 曜日単位・時刻指定のローテーション

ihsrlog -W logfile week[,...] count [-t time] [-l maxsize] [-m mode] [-r]

(4) 日数単位のローテーション

ihsrlog -d logfile days count [{-c|-m mode}]

(5) ファイルサイズ単位のローテーション

ihsrlog -s logfile size count [{-c|-m mode}]

機能説明

本コマンドは、アクセスログ、エラーログ、またはトレースログを出力し、ログファイルのローテーションを行うコマンドです。
環境定義ファイル(httpd.conf)のErrorLogディレクティブ、CustomLogディレクティブ、IHSTraceLogディレクティブ、およびTransferLogディレクティブのパラメタ指定時に使用します。

以下に、本コマンドのオプションとパラメタを示します。

-T

時刻単位およびファイルサイズ単位に、以下のタイミングでローテーションを行います。

  • 「timeに指定した時刻」

  • ログ出力によるログファイル更新時に「-lオプションに指定したファイルサイズ」を超過する場合

  • -rオプションを指定した場合で、Webサーバ起動時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、かつファイルサイズが1バイト以上ある場合

なお、ログ出力がなかった場合は、timeに指定した時刻に0バイトのログファイルを作成します。

-C

日付単位およびファイルサイズ単位に、以下のタイミングでローテーションを行います。

  • 「dateに指定した日付」の「-tオプションに指定した時刻」

  • ログ出力によるログファイル更新時に「-lオプションに指定したファイルサイズ」を超過する場合

  • -rオプションを指定した場合で、Webサーバ起動時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、かつファイルサイズが1バイト以上ある場合

なお、ログ出力がなかった場合は、-tオプションに指定した時刻に0バイトのログファイルを作成します。

-W

曜日単位およびファイルサイズ単位に、以下のタイミングでローテーションを行います。

  • 「weekに指定した曜日」の「-tオプションに指定した時刻」

  • ログ出力によるログファイル更新時に「-lオプションに指定したファイルサイズ」を超過する場合

  • -rオプションを指定した場合で、Webサーバ起動時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、かつファイルサイズが1バイト以上ある場合

なお、ログ出力がなかった場合は、-tオプションに指定した時刻に0バイトのログファイルを作成します。

-d

日数単位に、以下のタイミングでローテーションを行います。

  • 「Webサーバの起動日の0:00からdaysに指定した日数×24時間」経過後の次のログ出力時

また、以下の条件の場合にもログファイルのローテーションを行いますが、以下の条件でローテーションを行った場合でも、上記のタイミングに変更はありません。

  • ログ出力によるログファイル更新時に、以下のファイルサイズの上限値を超過する場合

    2Gバイト


    ulimitコマンド(ボーンシェル系)またはlimitコマンド(Cシェル系)で設定されたファイルサイズが2Gバイト以上の場合は、2Gバイト。小さい場合は、ulimitコマンドまたはlimitコマンドで設定されたファイルサイズ。

  • Webサーバ起動後の最初のログ出力時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、そのログファイルの更新日がWebサーバの起動日と異なる場合

-s

ファイルサイズ単位に、以下のタイミングでローテーションを行います。

  • ログ出力によるログファイル更新時に「sizeで指定したファイルサイズ」を超過する場合

logfile

ログファイルを格納するディレクトリ、およびファイル名プレフィクスを、192バイト以内の半角英数字の文字列で指定します。
ディレクトリは、実際に存在するディレクトリ名を、絶対パスまたは環境定義ファイル(httpd.conf)内のServerRootディレクティブからの相対パスで指定します。

出力されるログファイルの形式は、以下のようになります。

  • 最新ファイル:ファイル名プレフィクス

  • ローテーションされたファイル:ファイル名プレフィクス.N
    N:通番(Nは0から始まる連続の番号です。新しいファイルの順に、1番目のファイルの通番は“.0”、N番目のファイルの通番は“.(N-1)”となります。)

time[,...]

時刻単位のローテーションにおいて、ログファイルのローテーションを行う時刻を、以下の形式で指定します。半角カンマ(,)で区切ることにより複数の時刻を最大24個まで指定できます。

  • 形式:“hhmm”(0000~2359の数値)

    • hh:時(00~23)

    • mm:分(00~59)

date[,...]

日付単位のローテーションにおいて、ログファイルのローテーションを行う日付を、1から31までの数値で指定します。半角カンマ(,)で区切ることにより複数の日付を最大31個まで指定できます。

week[,...]

曜日単位のローテーションにおいて、ログファイルのローテーションを行う曜日を、以下の半角英字の文字列で指定します。半角カンマ(,)で区切ることにより複数の曜日を最大7個まで指定できます。なお、文字列の大文字と小文字は、区別されません。

  • 日曜日:“Sun”

  • 月曜日:“Mon”

  • 火曜日:“Tue”

  • 水曜日:“Wed”

  • 木曜日:“Thu”

  • 金曜日:“Fri”

  • 土曜日:“Sat”

days

日数単位のローテーションにおいて、ローテーションを行う間隔を日数で指定します。日数は、1から365までの数値で指定します。

size

ファイルサイズ単位のローテーションにおいて、1ファイル当たりの最大ログファイルサイズを、1から以下までの数値(単位:Mバイト)で指定します。


2047


ulimitコマンド(ボーンシェル系)またはlimitコマンド(Cシェル系)で設定されたファイルサイズが2047Mバイト以上の場合は、2047。小さい場合は、ulimitコマンドまたはlimitコマンドで設定されたファイルサイズ。

count

ログファイルのファイル数の上限値を、0から999までの数値で指定します。
ファイル数が上限値に達した場合は、指定したオプションのローテーション単位により最も古いログファイルを削除して新しいログファイルを作成します。
“0”または“1”を指定した場合は、logfileに指定した1つのログファイル(ファイル名プレフィクス)でローテーションを行います。

-t time

ログファイルのローテーションを行う時刻を設定します。timeには、以下の形式で時刻を指定します。

  • 形式:“hhmm”(0000~2359の数値)

    • hh:時(00~23)

    • mm:分(00~59)

本オプションを省略した場合、ローテーションを行う時刻は、“0000”(00時00分)となります。

-l maxsize

時刻単位/日付単位/曜日単位でのローテーションに加え、さらにファイルサイズ単位でもローテーションを行います。maxsizeには、1ファイル当たりの最大ログファイルサイズを、1から以下までの数値(単位:Mバイト)で指定します。ローテーションは、ログ出力によるログファイル更新時に、ファイルサイズが本設定値を超過している場合に行います。

2047


ulimitコマンド(ボーンシェル系)またはlimitコマンド(Cシェル系)で設定されたファイルサイズが2047Mバイト以上の場合は、2047。小さい場合は、ulimitコマンドまたはlimitコマンドで設定されたファイルサイズ。


本オプションを省略した場合、最大ログファイルサイズは、以下の数値となります。

2Gバイト


ulimitコマンド(ボーンシェル系)またはlimitコマンド(Cシェル系)で設定されたファイルサイズが2Gバイト以上の場合は、2Gバイト。小さい場合は、ulimitコマンドまたはlimitコマンドで設定されたファイルサイズ。

-m mode

ログファイルのアクセス権限を設定します。modeには、以下の値を指定します。
本オプションを省略した場合は、ログファイルのアクセス権限は、“644”となります。“644”と設定した場合、管理者には読込み権限および書込み権限があり、グループ・一般ユーザには書込み権限はなく、読込み権限だけとなります。

設定値

管理者

グループ

一般ユーザ

読込み権限

書込み権限

読込み権限

書込み権限

読込み権限

書込み権限

600

×

×

×

×

640

×

×

×

644(省略時)

×

×

660

×

×

664

×

666

○:アクセス権限があります。
×:アクセス権限がありません。

-r

Webサーバ起動時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、かつファイルサイズが1バイト以上ある場合は、Webサーバ起動時のタイミングでログファイルのローテーションを行います。
本オプションを省略した場合は、Webサーバ起動時にログファイルのローテーションを行いません。

-c

本コマンドの以下の処理について、旧バーション(V6.0以前)の形式でログファイルを出力します。

出力ファイル名

本オプションを指定した場合、出力されるログファイルの形式“logfileパラメタに指定したファイル名プレフィクス.YYMMDDhhmmss[.N]”は、以下のようになります。

  • YYMMDDhhmmss:作成日時
      YY:西暦年(08の場合は、2008年)
      MM:月(1~12)
      DD:日(1~31)
      hh:時(0~23)
      mm:分(0~59)
      ss:秒(0~59)

  • N:通番(Nは0から始まる連続の番号です。古いファイル順に、1番目のファイルの通番は“.0”、N番目のファイルの通番は“.(N-1)”となります。)
    注)-sオプション指定時で、同じ日時にファイルサイズが指定したサイズを超過している場合

本オプションを省略した場合、出力されるログファイルの形式は、以下のようになります。

  • 最新ファイル:logfileパラメタに指定したファイル名プレフィクス

  • ローテーションされたファイル:logfileパラメタに指定したファイル名プレフィクス.N
    N:通番(Nは0から始まる連続の番号です。新しいファイルの順に、1番目のファイルの通番は“.0”、N番目のファイルの通番は“.(N-1)”となります。)

ローテーション処理

本オプションを指定した場合、countで指定したファイル数の上限値は、Webサーバの起動から停止までの間だけ有効となります。したがって、再起動した場合は、前回の起動中に作成されたログファイルは削除の対象とならないため、不要であれば手動でログファイルを削除する必要があります。
注)削除せずに再起動を繰り返した場合は、ディスク容量を圧迫する可能性があります。

本オプションを省略した場合、countで指定したファイル数の上限値は、Webサーバの起動・停止にかかわらず、すべてのファイルに対して有効となります。したがって、再起動した場合でも、前回の起動中に作成されたログファイルを含めて、最も古いログファイルから削除されます。

なお、本オプションを-dオプションと同時に指定して日数単位にローテーションを行う場合は、以下のタイミングでローテーションを行います。

  • 「最新のログファイル(ファイル名プレフィクス.YYMMDDhhmmss[.N])が出力された時刻“hh(時)mm(分)ss(秒)”からdaysに指定した日数×24時間」経過後の次のログ出力時

注意事項

使用例


アクセスログの時刻単位のログローテーションを以下の条件で行う場合

アクセスログの日付単位・時刻指定のログローテーションを以下の条件で行う場合

アクセスログの曜日単位・時刻指定のログローテーションを以下の条件で行う場合

アクセスログの日数単位のログローテーションを以下の条件で行う場合

アクセスログのファイルサイズ単位のログローテーションを以下の条件で行う場合


アクセスログの時刻単位のログローテーションを以下の条件で行う場合

アクセスログの日付単位・時刻指定のログローテーションを以下の条件で行う場合

アクセスログの曜日単位・時刻指定のログローテーションを以下の条件で行う場合

アクセスログの日数単位のログローテーションを以下の条件で行う場合

アクセスログのファイルサイズ単位のログローテーションを以下の条件で行う場合