ユーザ用ツール

サイト用ツール


os:freebsd:tips:newsyslog

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
os:freebsd:tips:newsyslog [2025/07/01 01:52] hayashios:freebsd:tips:newsyslog [2025/07/01 02:01] (現在) hayashi
行 1: 行 1:
 ====== ログローテート / newsyslog ====== ====== ログローテート / newsyslog ======
 +===== 設定ファイル =====
 +/etc/newsyslog.conf.d/に、nginx.confなどの任意の名前でファイルを作成
  
 +===== 書式 =====
 +以下の書式でログローテーションのルールを記述
 +  logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
  
 ^パラメータ^説明^ ^パラメータ^説明^
-|logfilename|ローテーション対象のログファイルパス*などのワイルドカードも使用可能です+|logfilename|ローテーション対象のログファイルパス
-|[owner:group]|ローテーション後のファイルの所有者とグループを指定します+| ::: |*などのワイルドカードも使用可能| 
-|mode|ファイルのパーミッションを8進数で指定します+|[owner:group]|ローテーション後のファイルの所有者とグループを指定| 
-|count|保存するバックアップログの世代数です+|mode|ファイルのパーミッションを8進数で指定| 
-|size|ファイルサイズがこの値(キロバイト単位)に達した際にローテーションを実行します*を指定するとサイズでの判定は無効になります+|count|保存するバックアップログの世代数| 
-|when|ローテーションを実行するタイミングを指定します$D<hour>で毎日、$M<day>D<hour>で毎月指定した日時に実行できます|+|size|ファイルサイズがこの値(キロバイト単位)に達した際にローテーションを実行
 +| ::: |*を指定するとサイズでの判定は無効| 
 +|when|ローテーションを実行するタイミングを指定
 +| ::: |$D<hour>で毎日、$M<day>D<hour>で毎月指定した日時に実行|
 |flags|動作を制御するオプションです| |flags|動作を制御するオプションです|
 | ::: |- B: ログファイルにローテーションメッセージを残しません| | ::: |- B: ログファイルにローテーションメッセージを残しません|
行 15: 行 23:
 | ::: |- X: xzで圧縮します| | ::: |- X: xzで圧縮します|
 | ::: |- Z: gzipで圧縮します| | ::: |- Z: gzipで圧縮します|
-|[/pid_file]|シグナルを送信するプロセスのPIDが記録されたファイルのパスですnginxの場合は/var/run/nginx.pidを指定します+|[/pid_file]|シグナルを送信するプロセスのPIDが記録されたファイルのパス
-|[sig_num]|ログファイルを再オープンさせるために送信するシグナル番号ですnginxはUSR1シグナルでログファイルを再オープンするため、シグナル番号として30(SIGUSR1)を指定します|+| ::: |nginxの場合は/var/run/nginx.pidを指定| 
 +|[sig_num]|ログファイルを再オープンさせるために送信するシグナル番号
 +| ::: |nginxはUSR1シグナルでログファイルを再オープンするため、シグナル番号として30(SIGUSR1)を指定| 
 + 
 +==== Nginxの例 ====
  
 <file /etc/newsyslog.conf.d/> <file /etc/newsyslog.conf.d/>
行 22: 行 34:
 /var/log/nginx/*.log root:wheel    644  7        $D05 JG    /var/run/nginx.pid 30 /var/log/nginx/*.log root:wheel    644  7        $D05 JG    /var/run/nginx.pid 30
 </file> </file>
 +
 +===== 設定の確認 =====
 +
 +
 +以下のコマンドで、構文が正しいか、また次にローテーションが実行される予定日時を確認できる
 +
 +  # newsyslog -nv
 +
 +このコマンドは実際にはローテーションを実行せず、シミュレーション結果のみを表示
 +設定ファイルはcronにより自動で読み込まれるため、手動での**サービス再起動は不要**
os/freebsd/tips/newsyslog.1751334750.txt.gz · 最終更新: by hayashi