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

推薦する

MySQL 5.7.21 解凍バージョンのインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.21の解凍版をダウンロードしてインストールする詳細な手順を記録して...

TomcatはLog4jを使用してcatalina.outログを出力します。

Tomcat のデフォルトのログは java.util.logging を使用しますが、これにはい...

無効にするとフォームの入力が送信できない問題の解決方法

以前、追加と変更を一緒に記述したテストプログラムを書いたことがあります。変更が必要な場合は、フォーム...

MyBatisインターセプターのページング機能を実装する方法

MyBatisインターセプターのページング機能を実装する方法序文:まず、実装原則についてお話しします...

スライディングカルーセル効果を実現する js

この記事では、スライディングカルーセル効果を実現するためのjsの具体的なコードを参考までに共有します...

CSS の ::before と ::after 疑似要素について知らないこと

CSS には、一般的には使用されない 2 つの疑似クラス、before と :after があります...

データベースクエリ、どのオブジェクトにどのフィールドが含まれているか、メソッドステートメント

データベースは、どのオブジェクトにどのフィールドが含まれているかを照会します。 *を選択 sysob...

Linux ipcsコマンドの使用

1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...

CSS プロパティ display:flow-root 宣言を 1 つの記事でマスターする

zhangxinxu より https://www.zhangxinxu.com/wordpress...

CSS 疑似要素と疑似クラスの魔法のような使い方についての簡単な説明

CSS は Web ページで非常に重要な役割を果たします。近年の CSS の発展に伴い、疑似要素/疑...

jQueryは検証コード送信のコントロールボタンを無効にする機能を実装します

必要な効果: 確認コードを送信するためにクリックした後、ボタンは無効になり、5 秒後に無効解除されま...

JavaScript は setTimeout を使用してカウントダウン効果を実現します

JavaScript ネイティブ コードの記述能力を高め、setTimeout() の使用を強化する...

Mysql GTID Mha 設定方法

Gtid + Mha + Binlog サーバー構成: 1: テスト環境OS: CentOS 6.5...

Typescriptを使用してWeChatミニプログラムを開発するための詳細な手順

Typescript の利点については詳しく説明する必要はありません。ご興味があれば、(https:...

Navicat PremiumはMySQLデータベースを操作します(SQL文を実行します)

1. Navicatの紹介1. Navicat とは何ですか? Navicat は強力な MySQ...