Bash: ログを他のファイルにコピーし、コピーしたログを削除する

Bash: ログを他のファイルにコピーし、コピーしたログを削除する

私は Linux を使用しており、bash スクリプトをいくつか作成しています。特定のディレクトリ内のすべてのイベント/変更のログを作成するログ ファイルがあります。作業できるように、これらのログを他のファイルにコピーする必要があります。ただし、次の方法は使用できません。

cp /mnt/abc.log /tmp/xyz.log

すでにコピーされたログは削除されないためabc.log、ログをコピーしてからコピーされたログ (ファイルではない) を削除して、次回新しいログを取得できるようにする必要があります。

ログをコピーしてそのファイルを削除し、再度ファイルを再作成すると、その間に発生したイベントが失われるからです。このためには bash スクリプトが必要です。

答え1

logrotate またはインターネットで入手できるログローテーション ソフトウェアを使用してください。ここで独自に作成しても意味がありません。

関連情報