logrotateのテスト方法

logrotateの設定を、

/etc/logrotate.conf /etc/logrotate.d/に置かれたファイル

にした後に、意図したとおりにログローテーションするかをテストします。

logrotateは、実際はcrondによって、定められたタイミングで実行されるわけですが、今すぐに実行できないといけませんし、crondの設定を変更したくありません。 また、実際にはローテーションされないようにする必要もあります。

こういうときには、次のようにlogrotateコマンドを実行します。logrotate.confを指定すればlogrotate設定全体のテスト、dovecotなどの個別設定を指定すれば個別設定のテストを実行できます。

[root ~]# logrotate -dv /etc/logrotate.conf [root ~]# logrotate -dv /etc/logrotate.d/dovecot

実行結果は、ローテーションする場合とローテーションしない場合の2通りを示しておきます。 なお、/etc/logrotate.d/dovecot の内容は次の通りです。

# dovecot SIGUSR1: Re-opens the log files. /var/log/dovecot.log { missingok notifempty size 50k postrotate /bin/kill -USR1 `cat /var/run/dovecot/master.pid 2>/dev/null` 2> /dev/null || true endscript }

サイズが設定値に達していないので、ローテーションしない場合 [root ~]# logrotate -dv /etc/logrotate.d/dovecot reading config 続きを読む »

logrotateの設定パラメータ

logrotateのファイル毎のローテーション方式は、

/etc/logrotate.conf /etc/logrotate.d/に置かれたファイル

に設定されますが、そこで使用するパラメータを整理しておきます。

パラメータ 機能の説明 missingok 指定のログファイルが存在しない場合でもエラーにしないで、次のログファイルの処理へ移る。 dailyweeklymonthlyyearly それぞれ、日次、週次、月次、年次でローテーションを行う。 notifempty 指定のログファイルが空の場合にはローテーションを行わない。 size サイズ(K/M) 指定したログファイルが指定したサイズより大きい場合にローテーションを行う。 compress ローテーションしたログファイルをgzipで圧縮する。 rotate ローテーションしたファイルを保持する世代数。 create [パーミッション] [ユーザ] [グループ] ローテーションの後に、新規のログファイルを作成する。 dateext ローテーションしたファイルの末尾に日付を付ける。 prerotate~スクリプト~endscript ローテーション条件に合致したログファイルがあった場合に、ログファイル毎に、ローテーションの前に実行するスクリプト。 postrotate~スクリプト~endscript ローテーション条件に合致したログファイルがあった場合に、ログファイル毎に、ローテーションの後に実行するスクリプト。 sharedscripts ローテーション条件に合致したログファイルがあった場合に実行するprerotate、postrotateで指定するスクリプトを、1回だけ実行するようにする。

続きを読む »

ダウンロードファイルのmd5ハッシュ値を確認する

wgetでパッケージファイルをダウンロードをしてきた後に、そのファイルの真偽をチェックするために、md5(128bit)ハッシュ値を確認する必要が出てきます。 その確認には、次のようにチェックサムコマンドを実行します。

[root ~]# md5sum ファイル名 md5ハッシュ値 ファイル名

表示されたmd5ハッシュ値を、公開されているハッシュ値と目視比較して、一致していれば真の正しいファイルと判断します。

なお、OpenSSLコマンドでも次のように実行することで同様の結果が得られます。

[root ~]# openssl md5 ファイル名 MD5(ファイル名)= md5ハッシュ値

LISTENポートを確認する

LISTEN状態(待機している状態)のIPアドレスとポート番号を確認するには、次のコマンドを使用します。

[root ~]# netstat -ln

さらに、ここで表示したいのはLISTENポートですので、次のように絞り込みを行うと便利です。このコマンドでは、「tcp」か「udp」で始まる行を表示します。

[root ~]# netstat -ln | egrep ^tcp\|^udp tcp 0 0 111.222.333.444:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN tcp 0 0 111.222.333.444:80 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:53 0.0.0.0:* udp 0 0 111.222.333.444:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:*

また、より簡単に次のようにすれば、同様の結果を得られます。

[root ~]# netstat -ln –tcp –udp

ちなみに、すべての状態のtcpのポートを表示するには次のようにします。

[root 続きを読む »

Redmine のアップデート(1.2.0 → 1.2.3)

Redmine 1.2.0 を 1.2.3 にマイナーアップデートする場合の手順を整理しておきます。 Redmine 1.2.x では、Ruby, Rails, Rack の対応バージョンに変更はありませんので、実施事項は次の通りです。

Redmineの本体ディレクトリを置き換える 現行の database.yml をコピーする アップデート手順 [root ~]# mv /var/lib/redmine /var/lib/redmine.bak [root ~]# wget http://rubyforge.org/frs/download.php/75593/redmine-1.2.3.tar.gz [root ~]# tar xvfz redmine-1.2.3.tar.gz [root ~]# chown root:root redmine [root ~]# mv redmine-1.2.3 /var/lib/redmine [root ~]# chown root:root /var/lib/redmine [root ~]# chown -R httpd実行ユーザ:httpd実行グループ /var/lib/redmine/* [root ~]# cp -p 続きを読む »