Bashでファイルが変更されたことを確認し、最後の15個のコピーを保持する最良の方法は何ですか?

Bashでファイルが変更されたことを確認し、最後の15個のコピーを保持する最良の方法は何ですか?

Bashスクリプトを作成してcron実行するための最良の方法は何ですか(毎時間):

  1. ディレクトリのファイルが変更されていることを確認してください。
  2. 変更が発生した場合は、コピーを作成し、ファイル名にバージョン番号と日付を増やして追加してください。
  3. ファイルの最後の15バージョンをディレクトリに保存し、15以上のバージョンを削除します。

一度試してみることができるようですが、私にとっては重要なことなので、シェルスクリプトについてよくわからないので、他の人の意見を聞きたいです。私は主にDebianとFedoraを使用しています。

答え1

ファイルシステム(またはフォルダ)を回転させ、必要な数のバージョンを維持できるrsnapshotの使用を検討してください。

Rsnapshotはファイルシステムやフォルダ全体を凍結しますが、少しの作業で変更を加えることなく古い連続バージョンを削除できます。

Rsnapshotはrsyncを使用し、調整するパラメータがたくさんあります。明らかにcrontabに接続できます。

答え2

知られている新しいシステムログまたはログの回転。これは最も簡単な方法で、crontab他のプロセスを明示的に編集して実行する必要はなく、一般的なトラップ(古いファイルの確認、削除、別のファイル名の変更、アトミックなど)を処理します。システムの残りの部分で検証され使用されるため、再使用する必要があります。

関連情報