毎晩ログ ファイルをアーカイブする cron ジョブを作成するにはどうすればよいでしょうか?

毎晩ログ ファイルをアーカイブする cron ジョブを作成するにはどうすればよいでしょうか?

これは比較的簡単だと思いますが、私のシェルスクリプトはそれほど上手ではないので、助けていただければと思います。

1 時間ごとに実行され、その出力をログ ファイルに追加するタスクがあります。スクリプトが処理できる空のログ ファイルが用意され、確認が必要なときにログが見やすくなるように、そのログ ファイルを毎晩移動したいと思います。

だから私は動くスクリプトが欲しい

ログファイル

/var/log/my.log.2 または my.log.yyyy.mm.dd など。

どうすればそれを簡単にできるでしょうか?

答え1

ぜひチェックしてみてくださいログローテートこれは、ほぼすべての主要な Linux ディストリビューションにデフォルトでインストールされています (またはパッケージ マネージャーを介して簡単にインストールできます)。ログ ファイルをローテーションするための簡単な構成エントリを作成するのは非常に簡単です。構成オプションについて知っておく必要のあるすべての情報は、そのマニュアル ページにあります。

一部のディストリビューションでは、特別な/etc/logrorate.d/ディレクトリを使用して、各ログ ファイル (または関連するログ ファイル グループ) ごとに個別の logrotate ファイルを指定します。ディストリビューションでこの方法を使用する場合は、マニュアル ページで説明されているように、そのディレクトリに適切な名前のファイルと構成ブロックを作成するだけで済みます。

それ以外の場合は、新しい構成ブロックを既存のファイルの末尾に追加するだけです/etc/logrotate.conf

関連情報