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

推薦する

MycliはMySQLコマンドライン愛好家にとって必須のツールです

マイクリMyCLI は、自動補完と構文の強調表示を備えた MySQL、MariaDB、および Per...

TypeScript 列挙の基本と例

目次序文TypeScript の列挙型とは何ですか? TypeScriptで列挙型を使用する際に注意...

Blazor における CSS 分離の問題

1. 環境VS 2019 16.9.0 プレビュー 1.0 .NET SDK 5.0.100 2. ...

MySQL インストール プロンプト「詳細なヘルプについては NET HELPMSG 3534 と入力してください」の解決方法

今日、MySQL をインストールすると次のエラー メッセージが表示されます。 かなり長い時間ネットで...

Linuxで現在のスクリプトの実際のパスを取得する方法

1. 現在のスクリプトの実際のパスを取得します。 #!/bin/bash if [[ $0 =~ ^...

MySQLデータベース設計:Pythonを使ったスキーマ操作方法の詳しい解説

矢が放たれる前に、弓は矢にささやきました。「お前の自由は私のものだ。」スキーマは矢のようなもので、弓...

MySQL がデータの削除と挿入に非常に時間がかかる問題の解決策

会社の開発者がテスト環境で挿入ステートメントを実行すると、正常に実行されるまでに 10 秒以上かかり...

Linux におけるゼロコピー技術の使用に関する簡単な分析

この記事では、Linux におけるいくつかの主要なゼロコピー テクノロジと、ゼロコピー テクノロジを...

MYSQL スロークエリとログ設定とテスト

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

myisamchk および mysqlcheck ツールを使用して破損した MySQL データベース ファイルを迅速に修復する方法

サーバーのデータベース ハード ディスク領域がいっぱいだったため、大量のデータの書き込みに失敗し、「...

フォームから Vue ElementUI を使用してログイン効果を実装する例

目次1. ElementUIで基本的なスタイルを構築する2. [送信]ボタンをクリックして、アカウン...

dubbo での Zookeeper リクエストのタイムアウト問題: mysql8.0.15 に接続する mybatis+spring の構成

ここ2日間Javaを復習するつもりなので、練習にdubboを使ってショッピングモールプロジェクトを書...

MySql データ型チュートリアル例の詳細な説明

目次1. 概要2. MySQLデータ型の詳細な説明1) 文字列型2) 整数型3) 浮動小数点型4) ...

JavaScript のクロージャの問題の詳細な説明

クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...

Linuxターミナルでファイルを作成する2つの一般的な方法を簡単に理解する

mkdir コマンドを使用して新しいディレクトリを作成できることは誰もが知っていますが、多くの場合、...