【Hinemos】ログファイルを定期的に削除する設定をしてみた
投稿日: / 更新日:
■はじめに
こんにちは!今回は、Hinemosマネージャのログの削除についての記事です。
毎日増えるログファイルによって、ディスク領域は圧迫されます。そのため、それぞれのHinemosマネージャ、クライアント、エージェントが出力するログファイルの管理を行う必要があります。今回は、Hinemosでマネージャ、Webクライアント向けに提供されているログファイル削除のスクリプトを使用して、ログが定期的に削除できるように設定してみました。
エージェントのログファイルに関しましては、ログファイル削除スクリプトが提供されていません。
Hinemosエージェントのログローテーションについて、以下の記事でログローテーションについて紹介していますのでご参考にしてみてください。
Hinemosエージェントログの日次ローテート
また、Hinemos内部DBに蓄積された履歴についての削除は、以下の記事を参考にしてみてください。
履歴情報削除機能のご紹介
■ログ削除スクリプトの設定方法
ログ削除スクリプトの設定方法は、マネージャのOSによって異なります。
Linux版と、Windows版に分けて以下に説明していきます。
また、Windows版では、保存期間の変更方法も記載していきます。
1.Linux版Hinemosマネージャで定期的にログを削除する~デフォルト31日~
Linux版Hinemosマネージャのログファイル削除スクリプトをデフォルトの31日経過したログファイルを削除するように設定してみます。
cronへ設定
Hinemosマネージャのログファイル削除スクリプトは、以下に配置されています。
・Hinemosマネージャ:/opt/hinemos/contrib/hinemos_manager
このスクリプトを、以下のコマンドで/etc/cron.dailyに設置することで日次で実行するように設定します。
設置できているか確認します。
こちらで設定完了です。スクリプトが実行されるのを待ってみます。
ログが削除されているか確認
設定した次の日に、ログが削除されているか確認します。
・スクリプト設定時
こちらが設定時の/var/logディレクトリです。確認日(12/20)より5か月ほど前のログも残っています。
・スクリプト実行後
cronのログを確認し、スクリプトが実行されたか確認します。
以下のログが出ており、12/21の3:29に実行されていることがわかります。
こちらが設定した次の日の/var/logディレクトリです。
最終更新日から31日が経過したログファイルは削除されていることが確認できます。
2.Windows版Hinemosマネージャで定期的にログを削除する~7日に変更~
Windows版Hinemosマネージャのログファイル削除スクリプトをデフォルトの7日経過したログファイルを削除するように設定してみます。
スクリプトの日数を変更
ログファイル削除スクリプトでは、デフォルトでは31日が経過したファイルを削除します。
デフォルトから7日に変更していきます。
[変更前]
1 |
LOGFILE_DAYS=31 |
[変更後]
1 |
LOGFILE_DAYS=7 |
タスクスケジューラへ設定
Windows版Hinemosマネージャのログファイル削除スクリプトが定期的に実行されるように設定してみます。
Windowsのタスクスケジューラを使用していきます。
タスクスケジューラを開き、基本タスクの作成から設定を作成していきます。
・タスクの名前等を入力します。
・トリガーのタブから、新規でトリガーを設定します。
今回は、毎日00:10にスクリプトが起動するように設定します。
・操作タブから、新規でタスクで実行する操作を登録します。
ログ削除スクリプトはpowershellの為、以下のように設定していきます。
プログラムスクリプト:
1 |
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe |
引数のオプション:
1 |
-f "C:\Program Files\Hinemos\manager7.0\contrib\hinemos_manager.ps1" |
*コマンドプロンプトなどで確認しながら環境に合わせて変更してください。
ログが削除されているか確認
設定した次の日に、ログが削除されているか確認します。
・スクリプト設定時
設定時のログファイルの状況です。撮影時(3/23)よりも20日以上前のログが残っていることがわかります。
・スクリプト実行後
こちらがログ削除時刻が過ぎた後のフォルダです。
最終更新日から7日経過したログファイルが削除されていることがわかります。
*hinemos_tasktray.log.*は、このスクリプトでは削除されません。
■おわりに
この記事では、Hinemosマネージャのログを定期的に削除するスクリプトをOSごとに設定し、実際に削除されるか実施してみました。
Webクライアントも同様に設定して、ログの削除が確認できました。ご参考になれば幸いです。