Linuxでファイルをローテートする詳細ガイド

作業開始前にファイルローテーションのaccept条件を決めます。ここでは対象ログ、回転条件、保持世代、再オープン方法をlogrotateのデバッグ出力で確認することを必須にし、Linuxでファイルをローテートする詳細ガイドの各段階へ停止点を設けます。

ファイルローテーションの対象境界は「logrotateで管理するテキストログ。アプリ自身が回転機能を持つ場合は二重管理しない」です。ファイルローテーションで範囲外の候補、実在しないpath、想定外の実行identityが一つでもあれば開始せず、logrotateの取得段階へ戻ります。

目次

ファイルローテーション|対象ログ、回転条件、保持世代、再オープン方法をlogrotateの…|accept

ファイルローテーションではlogrotateのbaseline、logrotateの再取得、logrotateの復旧材料を同じ対象へ結べた時だけ完了です。ファイルローテーションの表示上の成功と利用側の結果が違う場合は後者を優先し、承認記録を閉じません。

確認対象Linuxファイルローテーション
適用範囲logrotateで管理するテキストログ。アプリ自身が回転機能を持つ場合は二重管理しない
成功条件対象ログ、回転条件、保持世代、再オープン方法をlogrotateのデバッグ出力で確認する
中止条件copytruncateはコピーと切り詰めの間に書かれた行を失う可能性がある
復旧基準保存した変更前状態へ戻し、同じ検証を再実行できること

ファイルローテーションの対象boundary|logrotateで管理するテキストログ。アプリ自身が回転機能を持つ…

ファイルローテーションを開始する前の停止条件は「copytruncateはコピーと切り詰めの間に書かれた行を失う可能性がある」です。ファイルローテーションの対象数、権限、同時更新の有無を読み合わせ、この兆候を除外できない場合は変更commandを実行しません。

  • 対象boundary:logrotateで管理するテキストログ。アプリ自身が回転機能を持つ場合は二重管理しない
  • 変更前証拠:logrotateのstdout・stderr・終了状態と取得時刻
  • 承認前の禁止条件:copytruncateはコピーと切り詰めの間に書かれた行を失う可能性がある
  • 復旧input:logrotateが参照する保存物を実在確認する

ファイルローテーション × logrotate|初期状態を数える

ファイルローテーションではlogrotateを変更前に実行し、対象名、内部識別子、件数、主要属性を作業記録へ保存します。ファイルローテーションの空stdoutを正常値へ変換せず、権限不足と対象なしを別statusにします。

logrotate --debug /etc/logrotate.d/myapp
stat --format='size=%s mtime=%y owner=%U:%G mode=%a' /var/log/myapp/app.log

ファイルローテーションのこの出力は、後続のlogrotateへ渡す入力の存在確認です。ファイルローテーションの取得中に対象が変わったrunは破棄し、同じidentityについてbaselineを採り直します。

ファイルローテーションの判定field|–debug、state、create/copytruncate

–debugLinuxファイルローテーションではログを変更せず設定解釈と予定動作を表示する。最初の必須確認にする
stateLinuxファイルローテーションでは前回回転日時を保持し、条件判定に影響するため本番と検証で混用しない
create/copytruncateLinuxファイルローテーションではアプリのファイル再オープン能力に合わせて選び、データ欠落窓を理解する

ファイルローテーションで比較するfieldは「–debug、state、create/copytruncate」です。ファイルローテーションを単独の表示名や時刻だけで同一と決めず、対象identityと適用範囲を一行のrecordへ束ねます。

ファイルローテーションの限定操作|logrotateとlogrotateで管理するテキストログ。アプ…

ファイルローテーションのlogrotate例は検証用の一対象へ限定します。ファイルローテーションの入力値、上書き先、previewまたは安全optionを読み直し、backupが参照できない状態では承認済み実行へ進みません。

logrotate --debug --state /var/lib/logrotate/logrotate.status /etc/logrotate.d/myapp

ファイルローテーションへlogrotateを実行した直後は別対象へ連続適用せず、処理件数とwarningを保存します。ファイルローテーションで部分成功があれば成功分と未処理分を分け、logrotateの確認を先に行います。

ファイルローテーションのacceptance|logrotateと対象ログ、回転条件、保持世代、再オープン方法をlogr…

ファイルローテーションではlogrotateを使い、変更commandの変数ではなく保存後の現状を独立して読み直します。ファイルローテーションの主要値、件数、利用側の代表操作がすべて一致した場合だけacceptします。

logrotate --verbose --state /var/lib/logrotate/logrotate.status /etc/logrotate.d/myapp
ls -l /var/log/myapp/app.log*
  • 主要判定:対象ログ、回転条件、保持世代、再オープン方法をlogrotateのデバッグ出力で確認する
  • error判定:stderrまたはaccess deniedを空結果へ丸めない
  • 利用側確認:保持数と圧縮条件を誤るとディスク枯渇または監査ログ不足になるという条件を除外する
  • recovery確認:logrotateの入力と対象identityがbaselineに一致する

ファイルローテーション|停止:copytruncateはコピーと切り詰めの間に書かれた行を失う可能性がある

ファイルローテーションで停止する兆候は「copytruncateはコピーと切り詰めの間に書かれた行を失う可能性がある」です。ファイルローテーションを再実行回数で解決せず、対象選択と前提条件を修正して新しいbaselineから再開します。

ファイルローテーション|保留:postrotateでサービスへ誤ったシグナルを送ると停止やログ欠落を招く

ファイルローテーションで「postrotateでサービスへ誤ったシグナルを送ると停止やログ欠落を招く」を検出した結果は保留にします。ファイルローテーションの現在状態と残存物を保存し、影響範囲を特定してから復旧か再試行かを選びます。

ファイルローテーション|再設計:保持数と圧縮条件を誤るとディスク枯渇または監査ログ不足になる

ファイルローテーションの設計を戻す条件は「保持数と圧縮条件を誤るとディスク枯渇または監査ログ不足になる」です。ファイルローテーションとは別層の権限・format・運用要件が原因なら、optionを足さず担当workflowへ引き渡します。

ファイルローテーションのrecovery|logrotateで保存状態へ戻す|ファイルローテーション

ファイルローテーションではlogrotateが参照するbackup、旧値、または候補fileを変更前に作り、hash・権限・対象identityを確認します。ファイルローテーションの復旧開始時にも現在状態を追加保存し、上書き対象を一件へ絞ります。

cp --preserve=mode,ownership,timestamps /etc/logrotate.d/myapp.before /etc/logrotate.d/myapp
logrotate --debug /etc/logrotate.d/myapp

ファイルローテーションでlogrotateを終えた後は、baselineとの一致だけでなく利用側の代表操作も再試験します。ファイルローテーションの復旧中に新しいerrorが出たらcommandを止め、残った状態を保全してownerへ渡します。

ファイルローテーションの運用case|独自アプリログを日次またはサイズ条件で回し、debugで構文を確認後、別stateを使…

ファイルローテーションの運用例は「独自アプリログを日次またはサイズ条件で回し、debugで構文を確認後、別stateを使う検証環境で回転、圧縮、所有者、アプリ継続書込みを確かめる運用」です。ファイルローテーションの対象固定、承認番号、変更前後の比較、復旧可能性を一つのrun recordへまとめます。

ファイルローテーションをautomationへ載せる場合は、重複実行を防ぐlock、開始終了時刻、処理件数、logrotateの判定を保存します。ファイルローテーションのlogから秘密値を除外し、失敗runを前回値で上書きしません。

ファイルローテーション|forceで今すぐ回してよいですか

結論:本番stateとアプリ再オープンを理解するまで強制しない。debugは変更しないため先に使う

ファイルローテーション|copytruncateならサービス連携は不要ですか

選択基準:再オープン不要の代わりに欠落窓がある。アプリがシグナル再オープンできるならrename方式を検討する

ファイルローテーション|古いログを何世代残しますか

運用上の答え:監査、障害調査、容量、外部保管の要件から決める

ファイルローテーションの採用条件は、上記の独立確認が通り、停止条件が一件も残らず、logrotateの復旧材料が読めることです。ファイルローテーションで対象identityが途中変化したrunは破棄し、保存済みbaselineから再収集します。

公式情報・参考資料

ファイルローテーションの構文と制約は、本文末の一次資料と対象環境のlocal helpで照合します。ファイルローテーションの記事確認日は2026年7月17日で、版が異なる場合はoption、default、終了statusの差を先に確認してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次