Linux で Systemd と Crontab を使用してログ ローテーションを実装する方法と手順
タイトル: Linux で Systemd と Crontab を使用してログ ローテーションを実装する方法と手順
本文:
Linux システムでは、ログ ファイルに次のような記録が記録されます。システム内で発生した重要なイベントやエラー情報などのログファイルは時間の経過とともに大きくなり、ハードディスクの容量を占有するだけでなく、ログの閲覧が困難になります。この問題を解決するには、Systemd と Crontab を使用してログ ローテーションを実装します。つまり、ログ ファイルを定期的にバックアップし、アーカイブします。この記事では、Systemd と Crontab を使用してログ ローテーションの方法と手順を実装する方法を紹介し、具体的なコード例を示します。
1. Systemd を使用してログ ローテーションを実装する
- ログ ローテーション構成ファイルを作成する
最初に、Systemd ログ ローテーション構成ファイルを作成する必要があります。ターミナルに次のコマンドを入力して、「myapp-logrotate.conf」という名前の構成ファイルを作成します。
sudo nano /etc/systemd/journald.conf.d/myapp-logrotate.conf
構成ファイルに次の内容を追加します。
[Journal] Storage=persistent MaxFileSec=1month
その中に、 "Storage" パラメータは、ログ ファイルの保存方法を指定します。 "persistent" は、ログ ファイルがディスク上に永続化されることを意味します。 「MaxFileSec」パラメータはログ ファイルの保存期間を指定します。ここでは 1 か月に設定されています。
設定ファイルを保存して終了します。
- Systemd ログ サービスの再起動
ターミナルに次のコマンドを入力して、Systemd ログ サービスを再起動します。
sudo systemctl restart systemd-journald.service
これで、Systemd は、次の設定に従ってログをローテーションします。構成ファイルのドキュメント。
2. Crontab を使用してログ ローテーションを実装する
- ログ ローテーション スクリプトを作成する
次に、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
保存して終了します。スクリプトファイル。
- スクリプト実行権限を付与する
ターミナルに次のコマンドを入力して、スクリプト実行権限を付与します。
sudo chmod +x /usr/local/bin/logrotate-script.sh
- 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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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