Tips

エックスサーバーで logrotate を使う

投稿日:

1. はじめに

エックスサーバーで logrotate を使う手順です。

2. logrotate とは?

logrotate は、ログファイルをローテーションするツールです。

例えば、あるディレクトリ直下に 毎日ログファイルを追加作成している場合、放っておくとファイルがどんどん増えていきますが、logrotate を使うと、常に「○日間分のログファイルだけが残る」ように古いログファイルを削除していってくれます。

公式サイト

🔗 GitHub – logrotate/logrotate

3. エックスサーバーで logratote を使う手順

以下の操作はすべて、ターミナルからエックスサーバーにログインして行います (SSH でログイン)。

1. logrotate 関連のファイルを配置するディレクトリを作る

logrotate 関連のファイルを配置するディレクトリを作ります。

どこでもよいのですが、今回は ~/local/logrotate/ とします。

$ mkdir ~/local/logrotate

2. logrotate で使用するファイルを用意する

logrotate で使用するファイルを作っておきます。

(1) logrotate.status ファイルを空で作っておきます。

logrotate を実行した時に、その日時が書き込まれるファイルです(ステータスファイル)。基本的に自分で編集することはありません。
(logrotate を最初に実行した時に自動生成されるかもしれませんが、念の為作っておきます)

$ touch ~/local/logrotate/logrotate.status

(2) logrotate.conf ファイルを作成します。

logrotate の設定ファイルです。どこのログファイルをローテーションするのかなどを記述します。

$ touch ~/local/logrotate/logrotate.conf
  • このファイル内に、include {ディレクトリパス} と記述しておくと、指定したディレクトリ内のファイルも設定ファイルとして認識させることができます。

例として ~/log/ ディレクトリ以下のログファイルをローテーションする場合は、以下のように記述しておきます。

/home/{ユーザー名}/log/* {
  daily
  rotate 2
  missingok
  notifempty
  dateext
  create 700 {ユーザー名} {グループ名}
}

※ 各設定値については、man logrotate.conf コマンドを実行してオンラインマニュアルを確認してください。

3. cron で logrotate を動かす

cron を使って logrotate を1日1回実行させます。

logrotate コマンドは、/sbin/logrotate というパスに最初からインストールされていましたので、これを使用します。

以下のコマンドを実行して cron の設定を記述します。

$ crontab -e

以下を1行で追記します。

30 6 * * * /sbin/logrotate -s /home/{ユーザー名}/local/logrotate/logrotate.status /home/{ユーザー名}/local/logrotate/logrotate.conf

この記述のフォーマットは以下です。

分 時 日 月 曜日 コマンド

今回の例では、毎日 6時30分に実行することになります。

  • {ユーザー名} の部分は自分のユーザー名を指定してください。
  • -s オプションでは、先程作成したステータスファイルを指定しています。

4. まとめ

まとめます。

  1. logrotate コマンドは最初からインストールされているものを使います。
  2. 「ステータスファイル」と「設定ファイル」を作っておき、logrotate コマンドの引数として指定します。
  3. どこにあるログファイルをローテーションするかは、設定ファイルに書いておきます。
  4. cron を使い、logrotate コマンドを定期的に実行します。

-Tips

執筆者:fitallright

関連記事

WordPress のウィジェットに、特定のカテゴリの「最近の投稿」を表示する方法

WordPress において、特定のカテゴリ内の「最近の投稿」をウィジェットに表示する方法をご紹介します。 目次WordPress のウィジェットとは?手順設定方法TitleFilterPost de …

エックスサーバーに tree コマンドをインストールする

エックスサーバーは、SSH を使ってターミナルエミュレータでログインすることができますが、tree コマンドが使えません。 ということで、tree コマンドを導入する手順を紹介します。 目次1. tr …

お値打ちなドメイン

お得なドメイン(各料金がおよそ 1,500円以下のドメイン)とその料金を表にしてみました。 この表には エックスドメイン の料金を記載していますが、「どのドメインがお得か?」という点に関しては、他のド …

Wayback Machine にサイトを保存させない

robots.txt ファイルとは? にも書いたのですが、Wayback Machine というサイトがあります。 Wayback Machine Wayback Machine は、世界中のウェブサ …

CGI と PHP(モジュール版) の違い

レンタルサーバーにおける「CGI」と「PHP(モジュール版)」の違いについて書きます。 目次1. 「CGI」と「PHP(モジュール版)」の共通点2. 両者の違いと「PHP(モジュール版)」の手軽さ1. …

ロリポップ!「スタンダードプラン」
さくらのレンタルサーバ「スタンダードプラン」