Linux のタイムドログ削除を実装する簡単な方法

Linux のタイムドログ削除を実装する簡単な方法

導入

Linux は、ファイル、ログ、電子メール、バックアップなどを自動的に生成できるシステムです。ハードディスクは現在安価ですが、これらのファイルのためにハードディスクのスペースを無駄にしてしまう可能性があります。不要なファイルを定期的にシステムでクリーンアップするのは非常に便利です。

プロジェクトではさまざまなログが生成され、時間が経つにつれてログの数が増えていきます。一定時間より古いログは参照価値がなく、スペースを占有するため、ほとんどのプロジェクトではログが削除されます。この記事の要件は、7 日より古いログを削除することです。これは、ログを削除するコマンドと、スケジュールされたタスクを設定するという 2 つの手順に大別されます。

指定した時間のログを削除する

まず、7 日前のすべてのログを検索します。find を使用する場合は、-mtime パラメータを追加します。これは、24 時間単位で指定された時間内に変更されたファイルまたはディレクトリを検索することを意味します。例えば、 find you/path -mtime +7 -name '*.log'次のようになります。

検索は完了しました。次のステップは削除です。上記のステートメントに基づいて、-exec パラメータを追加すると削除を実現できます。このパラメータは、find コマンドの戻り値が True の場合にコマンドが実行されることを意味します。したがって、完全なステートメントはfind you/path -mtime +7 -name '*.log' -exec rm -rf {} \;ます。実際の実行では、16日より古いログを削除してください。そうしないと、次のデモは機能しません。

16 日前にはログが 1 つしかありませんでした。実行後、再び見つからないため、削除が成功したことがわかります。

スケジュールされたタスクを設定する

最後に、スケジュールされたタスクにコマンドを追加します。 crontab コマンドと実行時間の設定については、以下のリファレンスを参照してください。
追加する前に、14日前のログを見てみましょう

ログがあります。スケジュールされたタスクを編集し、crontab -e を実行し、ログ削除コマンド*/1 * * * * find you/path -mtime +14 -name '*.log' -exec rm -rf {} \;を末尾に追加して、1 分ごとに 1 回実行されるように設定します。少し待ってから、14 日前のログを確認してください。

スケジュールされたタスクを追加した後、手動で削除しなくてもログが自動的に削除されていることがわかります。もちろん毎分実行する必要はありません。毎日1時に設定してください。最終的なスケジュールタスクとログ削除コマンドは以下のとおりです。

0 1 * * * find you/path -mtime +7 -name '*.log' -exec rm -rf {} \; 

参考資料: find コマンド、crontab コマンド、crontab を使用してスケジュールされたタスクを追加する Linux。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linux環境でログファイルを表示するコマンドの詳細な説明
  • Linux システムでログを手動でスクロールする方法
  • Linux ログ表示方法 6 つのまとめ
  • Linux環境でglogログライブラリを使用する方法
  • Linuxシステムのログの詳細な紹介

<<:  MySQLの使用中に発生した問題

>>:  JavaScript デザインパターン プロキシパターンの学習

推薦する

nginx をコンパイルしてインストールした後、スムーズに nginx をアップグレードする方法

nginx をコンパイルしてインストールし、一定期間使用した後、現在のバージョンに脆弱性があることや...

JavaScript でオブザーバー パターンを実装する方法

目次概要オブザーバーパターンの応用シナリオオブザーバーパターンの実装要約する概要オブザーバー パター...

CSS カウンターを使用して数字の順序付きリストを美しく表示する方法

Web デザインでは、Web サイトに表示されるデータの構造とコンテンツをユーザーが明確に理解できる...

SpringBoot でマイクロサービスを構築するために Docker を使用した実際の記録を分析する

それは何ですか? Spring Boot は、Spring オープンソース組織のサブプロジェクトであ...

IDEA に基づいて Tomcat サーバーを展開するための詳細な手順

目次導入ステップ1ステップ2: アイデアで動的Webプロジェクトを作成するステップ3: Tomcat...

Vue が天気予報機能を実装

この記事では、天気予報機能を実現するためのVueの具体的なコードを参考までに共有します。具体的な内容...

MySQLデータベースのリアルタイムバックアップの知識ポイントを詳しく解説

序文リアルタイムのデータベース バックアップの必要性は非常に一般的です。MySQL 自体はレプリケー...

nginxプロセスロックの実装の詳細な説明

目次1. nginxプロセスロックの役割2. エントリーレベルのロックの使用3. nginxプロセス...

Dockeにredisをインストールする方法

1. redisイメージを検索する docker 検索 redis 2. Redisイメージをダウン...

Centos7 での NFS サービス構築の紹介

目次1. サーバー2. クライアント3. テストサービス1. サーバー1. YUMソースを使用してN...

Ubuntu 基本チュートリアル: apt-get コマンド

序文apt-get コマンドは、Ubuntu システムのパッケージ管理ツールです。パッケージのインス...

Docker Secretの管理と使用の詳細な説明

1. Docker Secretとは1. シナリオ表示MySQL サービスなど、一部のサービスではパ...

myBatis で条件を削除する際のスプライシング問題を解決する

私は今日、mybatis を学び、データベースに対していくつかの簡単な追加、削除、変更、クエリを実行...

TLS暗号化通信を使用してDockerにリモート接続する詳細な例

デフォルトでは、Docker はネットワーク化されていない UNIX ソケット上で実行されます。オプ...

docker の run/cmd/entrypoint の違いの詳細な説明

Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...