[Linux] 構文チェック
ミドルウェアの設定ファイルを変更した場合、ミドルウェアのデーモンの再起動が必要となることがありますが、設定を書き換えて再起動したら、構文チェックでエラーになってしまうことがあります。失敗するとすごい惨めになってしまいますよね。#本番サービスの場合は、惨めでは済みませんね。
このようなことを避けるために、事前に構文チェックをする癖をつけましょう。
ミドルウェアに限らず、スクリプト言語などにおいても確認するようにしておくと、単純なミスは防げます。
以下にいくつかのミドルウェア/スクリプト言語で構文チェックするときのオプションを紹介します。
lighttpd
tオプションを指定することで、シンタックスのチェックを実施し、fオプションでconfigファイルを指定します。
さらに、configファイルを解析した結果を表示させる場合は、pオプションを指定するとよいです。
apache
configtestを指定することで構文チェックができます。
/etc/init.d/httpd configtest
ubuntuの場合は、以下のようにするとよいです。
/usr/sbin/apache2ctl configtest
試してはいませんが、centosなどを利用している場合は、以下でも構文チェックできるはずです。
ちなみtオプションでシンタックスチェック、fオプションでconfigファイルを指定します。
nagios
vオプションを指定し、nagiosの設定ファイルを指定します。
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
シェル(sh)
nオプションを指定します。
$ sh -n ファイル名.sh
また、xオプションを指定すれば、実行中の変数の状態などをチェックをすることもできます。
monit
tオプションを指定します。
$ sudo monit -t
logrotate
dオプションを指定し、デバッグモードで起動します。
vオプションで詳細を表示します。
$ sudo logrotate -vd /etc/logrotate.conf
出力結果に、"error"が含まれていないことを確認しましょう。
named
zoneファイルの設定チェックをする場合は、named-checkzoneコマンドを利用します。
引数1つ目でドメイン名、2つ目で該当zoneファイルを指定します。
$ named-checkzone example.jp example.jp.zone
様々なミドルウェアおよびプログラミング言語で構文チェックをすることができますが、今回はこの位にしておきます。#自分がよく利用するから書いただけというわけではないですよ。たぶん。