ホームページ 運用・保守 Linuxの運用と保守 Linux で Systemd と Crontab を使用してログ ローテーションを実装する方法と手順

Linux で Systemd と Crontab を使用してログ ローテーションを実装する方法と手順

Sep 26, 2023 pm 07:04 PM
crontab systemd ログローテーション

Linux で Systemd と Crontab を使用してログ ローテーションを実装する方法と手順

タイトル: Linux で Systemd と Crontab を使用してログ ローテーションを実装する方法と手順

本文:

Linux システムでは、ログ ファイルに次のような記録が記録されます。システム内で発生した重要なイベントやエラー情報などのログファイルは時間の経過とともに大きくなり、ハードディスクの容量を占有するだけでなく、ログの閲覧が困難になります。この問題を解決するには、Systemd と Crontab を使用してログ ローテーションを実装します。つまり、ログ ファイルを定期的にバックアップし、アーカイブします。この記事では、Systemd と Crontab を使用してログ ローテーションの方法と手順を実装する方法を紹介し、具体的なコード例を示します。

1. Systemd を使用してログ ローテーションを実装する

  1. ログ ローテーション構成ファイルを作成する
    最初に、Systemd ログ ローテーション構成ファイルを作成する必要があります。ターミナルに次のコマンドを入力して、「myapp-logrotate.conf」という名前の構成ファイルを作成します。
sudo nano /etc/systemd/journald.conf.d/myapp-logrotate.conf
ログイン後にコピー

構成ファイルに次の内容を追加します。

[Journal]
Storage=persistent
MaxFileSec=1month
ログイン後にコピー

その中に、 "Storage" パラメータは、ログ ファイルの保存方法を指定します。 "persistent" は、ログ ファイルがディスク上に永続化されることを意味します。 「MaxFileSec」パラメータはログ ファイルの保存期間を指定します。ここでは 1 か月に設定されています。

設定ファイルを保存して終了します。

  1. Systemd ログ サービスの再起動
    ターミナルに次のコマンドを入力して、Systemd ログ サービスを再起動します。
sudo systemctl restart systemd-journald.service
ログイン後にコピー

これで、Systemd は、次の設定に従ってログをローテーションします。構成ファイルのドキュメント。

2. Crontab を使用してログ ローテーションを実装する

  1. ログ ローテーション スクリプトを作成する
    次に、Crontab ログ ローテーション スクリプトを作成する必要があります。ターミナルに次のコマンドを入力して、「logrotate-script.sh」という名前のスクリプト ファイルを作成します。
sudo nano /usr/local/bin/logrotate-script.sh
ログイン後にコピー

次のコードをスクリプト ファイルに貼り付けます。

#!/bin/bash

# 日志文件路径
logfile="/var/log/myapp/myapp.log"

# 归档目录路径
archive_dir="/var/log/myapp/archive"

# 归档文件名
archive_file="myapp_$(date +'%Y%m%d%H%M%S').log"

# 压缩归档文件
tar -czvf $archive_dir/$archive_file $logfile

# 清空日志文件
> $logfile
ログイン後にコピー

保存して終了します。スクリプトファイル。

  1. スクリプト実行権限を付与する
    ターミナルに次のコマンドを入力して、スクリプト実行権限を付与します。
sudo chmod +x /usr/local/bin/logrotate-script.sh
ログイン後にコピー
  1. Crontab タスクを作成します
    最後に、ログ ローテーション スクリプトを定期的に実行するには、Crontab タスクを作成する必要があります。ターミナルに次のコマンドを入力して Crontab を編集します。
crontab -e
ログイン後にコピー

Crontab ファイルに次の内容を追加します。

# 每天的凌晨0点执行日志轮转脚本
0 0 * * * /usr/local/bin/logrotate-script.sh
ログイン後にコピー

Crontab ファイルを保存して終了します。

これで、Crontab は毎日午前 0 時にログ ローテーション スクリプトを実行して、ログ ファイルをアーカイブしてクリアします。

概要:

上記の方法と手順を通じて、Systemd と Crontab を使用してログ ローテーションを実装できます。 Systemd を使用してログ ファイルの保存期間を設定し、Crontab を使用してログ ローテーション スクリプトを定期的に実行して、ログ ファイルをアーカイブおよびクリアします。合理的な構成と使用により、システム ログ ファイルを効果的に管理および維持できます。

以上がLinux で Systemd と Crontab を使用してログ ローテーションを実装する方法と手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

crontab のスケジュールされたタスクが実行されない理由をご存知ですか? crontab のスケジュールされたタスクが実行されない理由をご存知ですか? Mar 09, 2024 am 09:49 AM

crontab のスケジュールされたタスクが実行されない原因まとめ 更新日時: 2019年1月9日 09:34:57 作成者: Hope on the field. この記事では主に、crontab のスケジュールされたタスクが実行されない原因をいくつかまとめて紹介します。考えられるトリガーごとに解決策が示されており、この問題に遭遇した同僚にとって一定の参照と学習価値があります。必要な学生はエディターに従って一緒に学習できます。序文: 最近仕事でいくつかの問題に遭遇しました。crontab のスケジュール設定タスクが実行されませんでした後、インターネットで検索したところ、インターネットでは主に次の 5 つのインセンティブについて言及されていることがわかりました: 1. crond サービスが開始されていない Crontab は Linux カーネルの機能ではなく、cron に依存しています。

log4j 構成の深い理解: ログ ローテーションとバックアップ戦略の実装 log4j 構成の深い理解: ログ ローテーションとバックアップ戦略の実装 Feb 18, 2024 pm 02:05 PM

log4j 構成の詳細な説明: ログ ローテーションとバックアップ ポリシーを構成する方法、特定のコード例が必要です はじめに: エンタープライズ レベルのアプリケーションにとって、ログは非常に重要です。開発者がバグを追跡して修正するのに役立つだけでなく、システムの状態をリアルタイムで監視することもできます。 Log4j は Java で最も一般的に使用されるログ フレームワークの 1 つであり、豊富な設定オプションが提供されています。この記事では、log4j のログ ローテーションとバックアップ戦略の設定方法を詳細に紹介し、具体的なコード例を示します。 1. ログ ローテーションの構成 ログ ローテーション戦略は次のとおりです。

Systemd と Crontab を使用して Linux システムでタスクの並列実行を実装する方法 Systemd と Crontab を使用して Linux システムでタスクの並列実行を実装する方法 Sep 26, 2023 pm 06:37 PM

Systemd と Crontab を使用して Linux システムでタスクの並列実行を実装する方法 Linux システムでは、タスクの並列実行はシステムの効率とパフォーマンスを向上させる重要な手段の 1 つです。この記事では、Systemd ツールと Crontab ツールを使用して Linux システムでタスクの並列実行を実装する方法を紹介し、具体的なコード例を示します。 1. Systemd の概要 Systemd は、Linux システムの起動プロセスとサービス管理を管理するために使用されるツールです。設定経由

Linuxのcrontabエラーログを読む方法 Linuxのcrontabエラーログを読む方法 Mar 07, 2023 am 09:29 AM

Linux で crontab エラー ログを表示する方法: 1. ファイル ディレクトリ "/var/log/cron" を表示します; 2. "tail -f /var/log/cron" コマンドを使用して、実際のファイルの末尾を表示しますtime; 3. 「vim /var /log/cron」コマンドを使用すると、高度なテキスト ビューアで表示できます。

Linux で crontab ファイルのコメント付けと crontab の sh 実行の落とし穴を解決する方法 Linux で crontab ファイルのコメント付けと crontab の sh 実行の落とし穴を解決する方法 May 15, 2023 pm 09:58 PM

Linux アノテーション crontab ファイルと crontab 実行の落とし穴. 多くの crontab は、特定のタスクを定期的に実行するために Linux で書かれていることが判明しました. 現在、次の要件があります: 要件: 特定の crontab タスクにアノテーションを付けることです. 方法: crontab を次の場所に追加するだけですタスクの前に「#」を追加するだけです。例:54**sunecho「runat5after4everysunday」 コメント: #54**sunecho「runat5after4everysunday」 とても簡単です。ピット 1 に遭遇、最近の次の例を見てください

Systemd を介して Mysql5.7.11 をコンパイルする方法 Systemd を介して Mysql5.7.11 をコンパイルする方法 May 29, 2023 pm 06:46 PM

MySQL 5.7 の主な機能: Systemd のネイティブ サポート パフォーマンスの向上: マルチコア CPU、ソリッド ステート ドライブ、およびロックの最適化の向上 より優れた InnoDB ストレージ エンジン より堅牢なレプリケーション機能: レプリケーションによりデータ損失がまったく発生せず、従来の金融顧客もMySQL データベースの使用を選択します。さらに、より優れたオプティマイザーにより、GTID オンラインでのスムーズなアップグレードも可能になります。オプティマイザー コードの再構築の重要性により、このバージョンと後続のバージョンで大幅な改善がもたらされます。オラクル関係者は、MySQL ネイティブ JSON タイプのサポート以前の最大の問題を解決しています。 より優れた地理情報サービスのサポート: InnoDB は地理的位置タイプをネイティブにサポートし、GeoJSON、GeoHash 特殊機能をサポートします

Systemd と Crontab を使用して Linux でアプリケーションを自動的に再起動する方法 Systemd と Crontab を使用して Linux でアプリケーションを自動的に再起動する方法 Sep 28, 2023 pm 03:35 PM

Systemd と Crontab を使用して Linux システムでアプリケーションを自動的に再起動する方法 Linux システムでは、Systemd と Crontab は 2 つの非常に重要なツールです。 Systemd はシステムおよびサービス マネージャーであり、Crontab は指定された時間にタスクを自動化するツールです。この記事では、具体的な例を使用して、Systemd と Crontab を使用して Linux システムでアプリケーションを自動的に再起動する方法を紹介します。 「いいえ」があるとします。

Systemd と Crontab を使用して Linux システムにタスクの依存関係を実装する方法 Systemd と Crontab を使用して Linux システムにタスクの依存関係を実装する方法 Sep 27, 2023 pm 08:13 PM

Systemd と Crontab を使用して Linux システムでタスクの依存関係を実装する方法 はじめに: Linux システムでは、タスクのスケジューリングは非常に重要な部分であり、各タスクがスケジュールされた時間と順序に従って確実に実行されるようにすることができます。 Systemd と Crontab は一般的に使用される 2 つのタスク スケジュール ツールであり、さまざまなシナリオに適しています。この記事では、Systemd と Crontab を使用してタスクの依存関係を実装する方法を紹介し、具体的なコード例を示します。 1. システムド

See all articles