ウェブサイト検索

Linux で構成ファイルまたはスクリプトを検証する 30 の方法


構成構文のチェックやテストは、アプリケーションまたはサービスの構成ファイルに変更を加えた後、または更新を実行した後でも実行する重要な手順です。これにより、構成エラーによりサービスの再起動が失敗する可能性が低くなります。

いくつかのアプリケーション/プログラムまたはサービス デーモンには、構成ファイルの構文が正しいかどうかをチェックするコマンドが付属しています。 Linux システム上の一般的なアプリケーションとサービスのリストと、それらの構成ファイルをテストまたは検証する方法をまとめました。

: root ユーザーとしてサーバーにログオンしていない場合に使用します。一部のサービスは root 権限で実行され、構成ファイルの確認には root が必要であるため、コマンドを呼び出す際には、必要に応じて sudo コマンドを使用することを忘れないでください。ユーザー権限。

1. Sudoコマンド

visudo コマンドを使用して sudo 設定ファイルの構文をチェックできます。このコマンドは、--check または -c コマンド ライン オプションをサポートし、検証のみを行います。編集なしのファイル。 -f オプションはエラー メッセージを表示し、編集用にファイルを開きます。

visudo -c /etc/sudoers
OR
visudo -c /etc/sudoers.d/my_config
OR
visudo -f /etc/sudoers.d/my_config

2.Bash スクリプト

次のようにして、Bash スクリプトの構文エラーをチェックできます。

bash -n /path/to/scriptname.sh

3. Perl スクリプト

Perl スクリプトの構文エラーをチェックするには、次のコマンドを使用します。

perl -c /path/to/scriptname

4. Systemd ユニット ファイル

systemd-analyze verify 」コマンドを使用すると、systemd ユニット ファイルの構文エラーをテストできます。ユニット ファイルをロードし、エラーが検出された場合は警告を出力します。

デフォルトでは、コマンドラインで引数として指定されたファイルと、それらのファイルによって参照される他のユニットがロードされます。

systemd-analyze verify /etc/systemd/system/test.service

5. OpenSSHサーバー

sshd 構成ファイルの有効性とキーの健全性を確認するには、次のコマンドを実行します。特定の構成ファイルを確認するには、-f フラグを使用してファイルを指定します。

sshd -t

6. NGINX Webサーバー

NGINX 構成ファイルを確認するには、-t フラグを指定して nginx コマンドを実行します。別の構成ファイルを指定するには、-c フラグを使用します。

nginx -t
OR
nginx -t -c /etc/nginx/conf.d/example.com.conf

7. PHP-FPM

php-fpm 設定ファイルを確認するには、次のコマンドを実行します。 -t フラグを (-tt) で 2 回呼び出すと、終了する前に設定がダンプされることに注意してください。

php-fpm -t
OR
php-fpm -tt

8. Apache Webサーバー

次のコマンドを使用して、Apache Web サーバー構成ファイルを確認できます。

apachectl configtest

あるいは、RedHat ベースのディストリビューションで次のコマンドを使用することもできます。

httpd -t

Debian ベースのディストリビューションでは、次を実行します。

 
apache2ctl -t

9. HAProxy TCP/HTTP ロードバランサ

HAProxy の構成は、次のコマンドを使用してテストできます。 -f オプションでファイルを指定し、-c でテスト モードを有効にします。

haproxy -f /etc/haproxy/haproxy.cfg -c

10. Lighttpd HTTP サーバー

次のコマンドを実行して、Lighttpd の構成ファイルの構文をテストします。 -t コマンドライン オプションを使用すると、Lighttpd はデフォルト設定ファイルの構文エラーをテストして終了できます。 -f フラグを使用して、カスタム構成ファイルを指定します。

lighttpd -t
OR
lighttpd -t -f /path/to/config/file

11. アパッチトムキャット

Tomcat Web サーバーでは、基本的な構成構文チェックが可能です。まず、Tomcat のインストール ディレクトリに移動し、次のコマンドを実行します。

./bin/catalina.sh configtest
OR
$TOMCAT_HOME/bin/catalina.sh configtest

12.ポンドリバースプロキシ

サーバーを起動する前にポンドサーバー構成ファイルを解析できます。他の引数を指定せずに -c フラグを指定して pound コマンドを実行し、デフォルト設定ファイルを確認します。 -f コマンド ライン オプションを使用して、別の構成ファイルを指定できます。

pound -c
OR
pound -f /path/to/config/file -c

13. Varnishd HTTP アクセラレータ

varnishd VCL (Varnish 構成言語) ファイルの構文にエラーがないか確認するには、次のコマンドを使用します。すべてがOKであれば、ワニスは生成された構成をダンプします。それ以外の場合は、エラーのあるファイル内の特定の行番号を表示します。

varnishd -C
OR
varnishd -f /etc/varnish/default.vcl -C

14. Squid プロキシ キャッシュ サーバー

Squid プロキシ キャッシュ サーバーの Squid 構成ファイルを渡すには、次のコマンドを発行します。 -k オプションを parse または debug サブコマンドと一緒に使用すると、squid デーモンに設定ファイルを解析するか、デバッグ モードを有効にするようそれぞれ指示します。

squid -k parse
squid -k debug

15. キャディ Web サーバー

Caddy Web サーバー構成のエラーを明らかにするには、次のコマンドを発行します。最初の設定ではデフォルトの設定を確認します。代わりに、--config コマンド ライン オプションを使用して設定ファイルを指定します。

caddy validate
OR
caddy validate --config /path/to/config/file

16. vsftpd FTPサーバー

次のコマンドを実行して、vsftpd FTP サーバーの構成ファイルをテストします。

vsftpd
OR
vsftpd -olisten=NO /path/to/vsftpd.testing.conf

17. DHCPDサーバー

-t フラグを指定して dhcpd コマンドを実行して、dhcpd サーバーの設定構文を確認します。

dhcpd -t
OR
dhcpd -t -cf /path/to/dhcpd.conf

18. MySQLデータベースサーバー

次のコマンドを使用して、MySQL データベース サーバー構成ファイルの構文をテストします。コマンドの実行後、エラーがなければサーバーは終了コード 0 で終了します。それ以外の場合は、診断メッセージを表示して終了コード 1 で終了します。 :

mysqld --validate-config

19. MariaDB データベースサーバー

MariaDB データベース サーバーに使用されるのと同じコマンドは、Mariadb データベース サーバー構成ファイルの構文をチェックするためにも機能します。

mysqld --validate-config

20.PostgreSQLサーバー

次のスクリーンショットは、PostgreSQL 構成ファイル内のエラーを示しています。

このようなエラーを検出するには、postgres データベース ユーザー アカウントに切り替えて、psql シェルにアクセスします。次に、コマンドを実行して構成ファイル内のエラーを特定します。

postgres=# select sourcefile, name,sourceline,error from pg_file_settings where error is not null;

21. Nagios監視ツール

Nagios 構成を確認するには、-v フラグを指定して nagios コマンドを実行します。

nagios -v /usr/local/nagios/etc/nagios.cfg

22.Monit監視ツール

-t フラグを指定して monit コマンドを実行し、デフォルトの Monit コントロール ファイルの構文チェックを実行します。 -c フラグを使用して、特定の制御ファイルを指定できます。

monit -t
OR
monit -t -c path/to/control/file

23. Postfixメールサーバー

次のコマンドは、Postfix の設定ファイルの構文エラーをチェックするのに役立ちます。

postfix check

この 2 番目のコマンドは、最初のコマンドよりも冗長です。

postfix -vvv

24. Dovecot IMAP サーバー

doveconf コマンドを使用して、Dovecot IMAP サーバー設定の構文を確認します。すべてが正常であれば、ゼロのエラー コードで終了します。それ以外の場合は、ゼロ以外のエラー コードで終了し、次のエラー メッセージが表示されます。

doveconf 1>/dev/null
echo $?

25. Sambaファイルサーバー

次のコマンドを使用して、Samba ファイル サーバー構成ファイルを確認できます。

testparm -v

26. Syslogd/Rsyslogd

-N1 オプションを指定して rsyslod コマンドを呼び出すと、デバッグ モードが有効になり、デフォルト設定ファイルの構文エラーもチェックされます。 -f フラグを使用してカスタム構成ファイルを読み取ります。

rsyslogd -N1

27. DNS (BIND) サーバー

次のようにして、DNS の名前付き設定ファイルを確認できます。

named-checkconf /etc/named.conf

28. NTP – ネットワークタイムプロトコル

ntpd 設定構文は、次のコマンドを使用してテストできます。-d フラグは冗長デバッグ モードを有効にし、-f は周波数ドリフト ファイル名を指定します。 -n はフォークがないことを意味します。

ntpd -d -f /etc/ntp.conf -n

29. OpenStack-Ansible

次のコマンドを実行して、OpenStack-ansible 構成ファイルの構文を確認します。

openstack-ansible setup-infrastructure.yml --syntax-check

30.ログローテート

logroate (ログ ローテーション機能) 構成ファイルをデバッグするには、-d オプションを指定して logrotate コマンドを実行し、構成ファイルを指定します。

logrotate -d /etc/logrotate.d/nginx

このガイドで説明した内容は以上です。ご意見をお聞かせいただくか、以下のフィードバック フォームからご質問ください。ここにリストされていないアプリケーションやサービスの構成構文を確認する方法の例をさらに共有することもできます。喜んであなたの例をガイドに追加させていただきます。