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 デザインパターン プロキシパターンの学習

推薦する

XHTML CSSを使用して正式なブログを書く

ブログの正式名称は「Web log」で、中国語で「ネットワークログ」を意味します。後にブログに短縮さ...

MySQL の高可用性アーキテクチャの完全な説明: MHA アーキテクチャ

目次1. はじめに2. 構成3. 作業プロセス4. 建築5. 表示例MHA (Master HA) ...

CocosCreator Typescriptでテトリスゲームを作る

目次1. はじめに2. 解決すべきいくつかの重要な問題3.最後に書く1. はじめに最近、Cocos ...

jsは水平および垂直スライダーを実現します

最近、練習プロジェクトをしていたときにスライダーを使う必要があったので、調べてみました。まず、水平ス...

レイアウトサイズを変更するために左右にドラッグする純粋なCSS

ブラウザの非overflow:auto要素resize伸縮機能を利用して、JavaScript を使...

Linux での nginx のインストール、展開、使用方法の詳細な説明

目次1. ダウンロード2. 展開3. Nginxログ関連の設定4. ファイルダウンローダーとして n...

JSはリクエストディスパッチャーを実装する

目次抽象化と再利用シリアルセグメントシリアル、セグメントパラレル要約するはじめに: JS は当然並列...

Vueのログインとログアウトの詳細な説明

目次ログインビジネスプロセスログイン機能の実装要約するまず、エフェクトの実装プロセスを見てみましょう...

Tomcat10 Catalinaのログの文字化けの問題を解決する

実行環境、Idea2020バージョン、Tomcat10、実行時にTomcat CatalinaLog...

jconsole を使用してリモート Tomcat サービスを監視する方法

JConsoleとはJConsole は Java 5 で導入されました。 JConsole は、コ...

複数の HTML ページで HTML コードをまとめて呼び出す方法

方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...

Linux オペレーティング システムに Apache サービスをインストールする方法

ダウンロードリンク:動作環境VMware 仮想マシンの CentOS 7.6セキュアCRT Xftp...

パゴダパネルとドッカーを使用して Gogs をインストールするプロセス全体

目次1 Baota Software StoreにDockerをインストールする2 ゴグスイメージを...

Vue.js と MJML でレスポンシブなメールを作成する

MJML は、開発者が美しく、応答性に優れ、あらゆるデバイスやメール クライアントで動作する魅力的な...

MySQL データベース内の varchar 型の数値のサイズを比較する方法

テストテーブルを作成する -- ---------------------------- -- ch...