名前
ihsrlog - ログファイルのローテーション
形式
ihsrlog -T logfile time[,...] count [-l maxsize] [-m mode] [-r]
ihsrlog -C logfile date[,...] count [-t time] [-l maxsize] [-m mode] [-r]
ihsrlog -W logfile week[,...] count [-t time] [-l maxsize] [-m mode] [-r]
ihsrlog -d logfile days count [{-c|-m mode}]
ihsrlog -s logfile size count [{-c|-m mode}]
機能説明
本コマンドは、アクセスログ、エラーログ、またはトレースログを出力し、ログファイルのローテーションを行うコマンドです。
環境定義ファイル(httpd.conf)のErrorLogディレクティブ、CustomLogディレクティブ、IHSTraceLogディレクティブ、およびTransferLogディレクティブのパラメタ指定時に使用します。
以下に、本コマンドのオプションとパラメタを示します。
時刻単位およびファイルサイズ単位に、以下のタイミングでローテーションを行います。
「timeに指定した時刻」
ログ出力によるログファイル更新時に「-lオプションに指定したファイルサイズ」を超過する場合
-rオプションを指定した場合で、Webサーバ起動時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、かつファイルサイズが1バイト以上ある場合
なお、ログ出力がなかった場合は、timeに指定した時刻に0バイトのログファイルを作成します。
日付単位およびファイルサイズ単位に、以下のタイミングでローテーションを行います。
「dateに指定した日付」の「-tオプションに指定した時刻」
ログ出力によるログファイル更新時に「-lオプションに指定したファイルサイズ」を超過する場合
-rオプションを指定した場合で、Webサーバ起動時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、かつファイルサイズが1バイト以上ある場合
なお、ログ出力がなかった場合は、-tオプションに指定した時刻に0バイトのログファイルを作成します。
曜日単位およびファイルサイズ単位に、以下のタイミングでローテーションを行います。
「weekに指定した曜日」の「-tオプションに指定した時刻」
ログ出力によるログファイル更新時に「-lオプションに指定したファイルサイズ」を超過する場合
-rオプションを指定した場合で、Webサーバ起動時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、かつファイルサイズが1バイト以上ある場合
なお、ログ出力がなかった場合は、-tオプションに指定した時刻に0バイトのログファイルを作成します。
日数単位に、以下のタイミングでローテーションを行います。
「Webサーバの起動日の0:00からdaysに指定した日数×24時間」経過後の次のログ出力時
また、以下の条件の場合にもログファイルのローテーションを行いますが、以下の条件でローテーションを行った場合でも、上記のタイミングに変更はありません。
ログ出力によるログファイル更新時に、以下のファイルサイズの上限値を超過する場合
2Gバイト
ulimitコマンド(ボーンシェル系)またはlimitコマンド(Cシェル系)で設定されたファイルサイズが2Gバイト以上の場合は、2Gバイト。小さい場合は、ulimitコマンドまたはlimitコマンドで設定されたファイルサイズ。
Webサーバ起動後の最初のログ出力時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、そのログファイルの更新日がWebサーバの起動日と異なる場合
ファイルサイズ単位に、以下のタイミングでローテーションを行います。
ログ出力によるログファイル更新時に「sizeで指定したファイルサイズ」を超過する場合
ログファイルを格納するディレクトリ、およびファイル名プレフィクスを、192バイト以内の半角英数字の文字列で指定します。
ディレクトリは、実際に存在するディレクトリ名を、絶対パスまたは環境定義ファイル(httpd.conf)内のServerRootディレクティブからの相対パスで指定します。
出力されるログファイルの形式は、以下のようになります。
最新ファイル:ファイル名プレフィクス
ローテーションされたファイル:ファイル名プレフィクス.N
N:通番(Nは0から始まる連続の番号です。新しいファイルの順に、1番目のファイルの通番は“.0”、N番目のファイルの通番は“.(N-1)”となります。)
時刻単位のローテーションにおいて、ログファイルのローテーションを行う時刻を、以下の形式で指定します。半角カンマ(,)で区切ることにより複数の時刻を最大24個まで指定できます。
形式:“hhmm”(0000~2359の数値)
hh:時(00~23)
mm:分(00~59)
日付単位のローテーションにおいて、ログファイルのローテーションを行う日付を、1から31までの数値で指定します。半角カンマ(,)で区切ることにより複数の日付を最大31個まで指定できます。
曜日単位のローテーションにおいて、ログファイルのローテーションを行う曜日を、以下の半角英字の文字列で指定します。半角カンマ(,)で区切ることにより複数の曜日を最大7個まで指定できます。なお、文字列の大文字と小文字は、区別されません。
日曜日:“Sun”
月曜日:“Mon”
火曜日:“Tue”
水曜日:“Wed”
木曜日:“Thu”
金曜日:“Fri”
土曜日:“Sat”
日数単位のローテーションにおいて、ローテーションを行う間隔を日数で指定します。日数は、1から365までの数値で指定します。
ファイルサイズ単位のローテーションにおいて、1ファイル当たりの最大ログファイルサイズを、1から以下までの数値(単位:Mバイト)で指定します。
2047
ulimitコマンド(ボーンシェル系)またはlimitコマンド(Cシェル系)で設定されたファイルサイズが2047Mバイト以上の場合は、2047。小さい場合は、ulimitコマンドまたはlimitコマンドで設定されたファイルサイズ。
ログファイルのファイル数の上限値を、0から999までの数値で指定します。
ファイル数が上限値に達した場合は、指定したオプションのローテーション単位により最も古いログファイルを削除して新しいログファイルを作成します。
“0”または“1”を指定した場合は、logfileに指定した1つのログファイル(ファイル名プレフィクス)でローテーションを行います。
ログファイルのローテーションを行う時刻を設定します。timeには、以下の形式で時刻を指定します。
形式:“hhmm”(0000~2359の数値)
hh:時(00~23)
mm:分(00~59)
本オプションを省略した場合、ローテーションを行う時刻は、“0000”(00時00分)となります。
時刻単位/日付単位/曜日単位でのローテーションに加え、さらにファイルサイズ単位でもローテーションを行います。maxsizeには、1ファイル当たりの最大ログファイルサイズを、1から以下までの数値(単位:Mバイト)で指定します。ローテーションは、ログ出力によるログファイル更新時に、ファイルサイズが本設定値を超過している場合に行います。
2047
ulimitコマンド(ボーンシェル系)またはlimitコマンド(Cシェル系)で設定されたファイルサイズが2047Mバイト以上の場合は、2047。小さい場合は、ulimitコマンドまたはlimitコマンドで設定されたファイルサイズ。
本オプションを省略した場合、最大ログファイルサイズは、以下の数値となります。
2Gバイト
ulimitコマンド(ボーンシェル系)またはlimitコマンド(Cシェル系)で設定されたファイルサイズが2Gバイト以上の場合は、2Gバイト。小さい場合は、ulimitコマンドまたはlimitコマンドで設定されたファイルサイズ。
ログファイルのアクセス権限を設定します。modeには、以下の値を指定します。
本オプションを省略した場合は、ログファイルのアクセス権限は、“644”となります。“644”と設定した場合、管理者には読込み権限および書込み権限があり、グループ・一般ユーザには書込み権限はなく、読込み権限だけとなります。
設定値 | 管理者 | グループ | 一般ユーザ | |||
---|---|---|---|---|---|---|
読込み権限 | 書込み権限 | 読込み権限 | 書込み権限 | 読込み権限 | 書込み権限 | |
600 | ○ | ○ | × | × | × | × |
640 | ○ | ○ | ○ | × | × | × |
644(省略時) | ○ | ○ | ○ | × | ○ | × |
660 | ○ | ○ | ○ | ○ | × | × |
664 | ○ | ○ | ○ | ○ | ○ | × |
666 | ○ | ○ | ○ | ○ | ○ | ○ |
○:アクセス権限があります。
×:アクセス権限がありません。
Webサーバ起動時に、logfileに指定したログファイル(ファイル名プレフィクス)がすでに存在し、かつファイルサイズが1バイト以上ある場合は、Webサーバ起動時のタイミングでログファイルのローテーションを行います。
本オプションを省略した場合は、Webサーバ起動時にログファイルのローテーションを行いません。
本コマンドの以下の処理について、旧バーション(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時間」経過後の次のログ出力時
注意事項
本コマンドのオプションおよびパラメタは、“形式”に示した順序で指定してください。
定期的にWebサーバまたはオペレーティングシステムを再起動して運用している場合は、ログファイルのローテーションが行われない可能性があります。
以下の条件に該当する場合は、-rオプションを指定して、Webサーバを起動してください。
-Tオプションを指定した場合で、かつtimeに指定した時刻にWebサーバまたはオペレーティングシステムが停止していた場合。
-Cオプションを指定した場合で、かつdateに指定した日付の-tオプションに指定した時刻に、Webサーバまたはオペレーティングシステムが停止していた場合。
-Wオプションを指定した場合で、かつweekに指定した曜日の-tオプションに指定した時刻に、Webサーバまたはオペレーティングシステムが停止していた場合。
logfileに指定したログファイル(ファイル名プレフィクス)は、複写/移動/削除/編集を行わないでください。
メインホストおよびバーチャルホスト、または異なるディレクティブで、同じログファイル(ファイル名プレフィックス)を指定しないでください。
複数Webサーバを運用している場合、他のWebサーバと同じログファイル(ファイル名プレフィックス)を指定しないでください。
-Cオプションに、たとえば“31”を指定して毎月31日にローテーションを行うように設定しても、31日が存在しない月は、ローテーションが行われません。月末にローテーションを行いたい場合は、1日00時00分にローテーションを行うなどの設定を検討してください。
ローテーションを行った古いログファイルの更新日時は、ローテーションを行う前の最後のログが出力された日時となります。
ulimitコマンド(ボーンシェル系)およびlimitコマンド(Cシェル系)の詳細については、各OSのドキュメントを参照してください。
環境定義ファイル(httpd.conf)のErrorLog/CustomLogディレクティブのihsrlog実行文において以下のオプションを設定している場合に、Interstage管理コンソールを使用して以下のローテーションタイプに変更すると、-t/-l/-rオプションまたは-cオプションが削除されます。
環境定義ファイル(httpd.conf)のErrorLog/CustomLogディレクティブのihsrlog実行文 | Interstage管理コンソールのローテーションタイプ | |
---|---|---|
-T(時刻単位) |
|
|
-C(日付単位) |
| |
-W(曜日単位) | ||
-d(日数単位) |
|
|
-s(ファイルサイズ単位) |
使用例
アクセスログの時刻単位のログローテーションを以下の条件で行う場合
ローテーション時刻:09時00分、17時00分
ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
ファイル数の上限値:5
CustomLog "|ihsrlog.exe -T logs/accesslog 0900,1700 5" ihs-analysis |
アクセスログの日付単位・時刻指定のログローテーションを以下の条件で行う場合
日付:毎月1日、11日、21日
ローテーション時刻:00時00分
ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
ファイル数の上限値:5
CustomLog "|ihsrlog.exe -C logs/accesslog 1,11,21 5" ihs-analysis |
アクセスログの曜日単位・時刻指定のログローテーションを以下の条件で行う場合
曜日:毎週月曜日、土曜日
ローテーション時刻:00時00分
ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
ファイル数の上限値:5
CustomLog "|ihsrlog.exe -W logs/accesslog Mon,Sat 5" ihs-analysis |
アクセスログの日数単位のログローテーションを以下の条件で行う場合
日数:1日
ローテーション時刻:「Webサーバ起動日の00時00分から日数(1日)×24時間」経過後の次のログ出力時
ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
ファイル数の上限値:5
CustomLog "|ihsrlog.exe -d logs/accesslog 1 5" ihs-analysis |
アクセスログのファイルサイズ単位のログローテーションを以下の条件で行う場合
ファイルサイズ:1Mバイト
ファイル名:C:\Interstage\F3FMihs\servers\FJapache\logs\accesslog
ファイル数の上限値:5
CustomLog "|ihsrlog.exe -s logs/accesslog 1 5" ihs-analysis |
アクセスログの時刻単位のログローテーションを以下の条件で行う場合
ローテーション時刻:09時00分、17時00分
ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -T logs/accesslog 0900,1700 5" ihs-analysis |
アクセスログの日付単位・時刻指定のログローテーションを以下の条件で行う場合
日付:毎月1日、11日、21日
ローテーション時刻:00時00分
ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -C logs/accesslog 1,11,21 5" ihs-analysis |
アクセスログの曜日単位・時刻指定のログローテーションを以下の条件で行う場合
曜日:毎週月曜日、土曜日
ローテーション時刻:00時00分
ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -W logs/accesslog Mon,Sat 5" ihs-analysis |
アクセスログの日数単位のログローテーションを以下の条件で行う場合
日数:1日
ローテーション時刻:「Webサーバ起動日の00時00分から日数(1日)×24時間」経過後の次のログ出力時
ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -d logs/accesslog 1 5" ihs-analysis |
アクセスログのファイルサイズ単位のログローテーションを以下の条件で行う場合
ファイルサイズ:1Mバイト
ファイル名:/var/opt/FJSVihs/servers/FJapache/logs/accesslog
ファイル数の上限値:5
CustomLog "|/opt/FJSVihs/bin/ihsrlog -s logs/accesslog 1 5" ihs-analysis |