ホームページ >運用・保守 >Linuxの運用と保守 >Linux Systemd Crontab サンプル チュートリアル: システム ログを定期的にクリーンアップする方法
Linux Systemd Crontab インスタンス チュートリアル: システム ログを定期的にクリーンアップする方法
1. はじめに
Linux システムでは、システム ログ ファイルがシステム操作を記録します。ステータス、エラー、その他の重要な情報を記録するための主要なファイル。時間の経過とともに、システム ログ ファイルのサイズが大きくなり、多くのディスク領域を占有する可能性があります。システムの正常な動作を維持するには、システム ログを定期的にクリーンアップする必要があります。この記事では、Systemd Crontab を使用してシステム ログを定期的にクリーンアップする方法を詳しく紹介し、具体的なコード例を示します。
2. Systemd Crontab を使用してスクリプトを定期的に実行する
Systemd Crontab は、タスクを定期的に実行するために使用できる Linux システムに基づくサービス管理ツールです。 Systemd Crontab を使用してスクリプトを定期的に実行するための具体的な手順は次のとおりです。
まず、ログをクリーンアップするスクリプトを作成する必要があります。システムログ。シェル スクリプト言語を使用して記述できます。以下はログ クリーニング スクリプト (clean_logs.sh) の例です:
#!/bin/bash # 清理/var/log目录下的系统日志文件 find /var/log -type f -name "*.log" -exec rm -rf {} ; # 重启系统日志服务 systemctl restart rsyslog
上記のスクリプトは、find コマンドを使用して、/var/log ディレクトリ内のすべてのログ ファイルを検索します。 、rm コマンドを使用してこれらのファイルを削除します。最後に、systemctl コマンドを使用して rsyslog サービスを再起動し、システム ログ機能が正常であることを確認します。
次に、実行するスクリプトを定義する Systemd サービス ユニット ファイルを作成する必要があります。次の内容を含む clean_logs.service という名前のファイルを作成します。
[Unit] Description=Clean system logs [Service] ExecStart=/path/to/clean_logs.sh [Install] WantedBy=default.target
ExecStart のパスを実際のスクリプト パスに変更する必要があります。
/etc/systemd/system/ ディレクトリに、clean_logs.timer という名前の Systemd Crontab 構成ファイルを次の内容で作成します。
[Unit] Description=Run clean_logs.service every day [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target
上記の設定ファイルでは、OnCalendar によってスケジュールされたタスクの実行時間が設定され、1 日に 1 回実行されるように設定されています。 Persistent を true に設定すると、システムがシャットダウンされても、次回起動時にタスクが実行され続けることを意味します。
上記の手順を完了したら、次のコマンドに従ってスケジュールされたタスクを開始および管理できます。
スケジュールされたタスクの開始タスク: systemctl start clean_logs.timer
スケジュールされたタスクを停止します: systemctl stop clean_logs.timer
スケジュールされたタスクを再開します: systemctl restart clean_logs.timer
スケジュールされたタスクのステータスを表示します: systemctl status clean_logs.timer
3. スケジュールされたタスクの実行結果の表示
##スケジュールされたタスクの実行が完了したら、タスクの実行結果を表示して、システム ログが正常にクリアされたかどうかを確認します。次の 2 つの方法で表示できます。 Systemd Crontab ログの表示:journalctl -u clean_logs.timerシステム ログ ファイルの表示: tail -n 100 /var/log/syslog
以上がLinux Systemd Crontab サンプル チュートリアル: システム ログを定期的にクリーンアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。