LinuxParty
La verificación y/o prueba de la sintaxis de configuración es un paso clave que se debe realizar después de realizar cambios en el archivo de configuración de una aplicación o servicio o incluso después de ejecutar actualizaciones. Esto ayuda a reducir las posibilidades de que el servicio no se reinicie debido a errores de configuración.
Varias aplicaciones/programas o demonios de servicio se envían con comandos para comprobar la corrección de la sintaxis de los archivos de configuración. Hemos reunido una lista de aplicaciones y servicios comunes en sistemas Linux y cómo probar o validar sus archivos de configuración.
Nota : utilice si no ha iniciado sesión en un servidor como usuario root, recuerde usar el comando sudo cuando sea necesario al invocar un comando porque algunos servicios se ejecutan con privilegios de root y verificar sus archivos de configuración requiere permisos de usuario root.
1. Comando Sudo
Puede verificar la sintaxis del archivo de configuración de sudo usando el comando visudo , que admite una opción de línea de comando --check
o -c
para validar solo un archivo sin editarlo. La opción -f
muestra el mensaje de error y abre el archivo para editarlo:
# visudo -c /etc/sudoers O # visudo -c /etc/sudoers.d/my_config O # visudo -f /etc/sudoers.d/my_config
Compruebe la configuración de Suders
2. Bash Script
Puede verificar los scripts de Bash en busca de errores de sintaxis de la siguiente manera:
# bash -n /ruta/a/scriptname.sh
Comprobar los errores de sintaxis del script Bash
3. Perl Scripts
Para verificar los scripts de Perl en busca de errores de sintaxis, use el siguiente comando:
# perl -c /ruta/a/scriptname
4. Archivos de unidad Systemd
El comando " systemd-analyze verify" permite probar el archivo de la unidad systemd en busca de errores de sintaxis. Carga archivos de unidad e imprime advertencias si se detecta algún error.
De forma predeterminada, carga los archivos especificados en la línea de comandos como argumento y cualquier otra unidad a la que hagan referencia:
# systemd-analyze verify /etc/systemd/system/nombre-servicio-a-testear.service
Compruebe la configuración de archivos de la unidad Systemd
5. Servidor OpenSSH
Para verificar la validez del archivo de configuración sshd y la cordura de las claves, emita el siguiente comando. Para verificar un archivo de configuración en particular, especifíquelo usando la bandera: -f
# sshd -t
6. Servidor web NGINX
Para verificar el archivo de configuración de NGINX, ejecute el comando nginx -t
con la bandera. Para especificar un archivo de configuración diferente, use la bandera: -c
# nginx -t O # nginx -t -c /etc/nginx/conf.d/ejemplo.com.conf
Comprobar la configuración de Nginx
7. PHP-FPM
Para verificar el archivo de configuración de php-fpm , ejecute el siguiente comando. Tenga en cuenta que llamar a la bandera -t
dos veces (-tt)
hace que la configuración se descargue antes de salir:
# php-fpm -t O # php-fpm -tt
8. Servidor web Apache
Luego puede verificar el archivo de configuración del servidor web Apache usando el siguiente comando:
# apachectl configtest
Alternativamente, puede usar los siguientes comandos en distribuciones basadas en RedHat :
# httpd -t
En distribuciones basadas en Debian , ejecute:
# apache2ctl -t
9. Equilibrador de carga TCP/HTTP de HAProxy
La configuración de HAProxy se puede probar usando el siguiente comando donde la opción -f
especifica el archivo y -c
habilita el modo de prueba:
# haproxy -f /etc/haproxy/haproxy.cfg -c
Compruebe la configuración de HAProxy
10. Servidor HTTP Lighttpd
Ejecute el siguiente comando para probar la sintaxis del archivo de configuración de Lighttpd. La opción -t
de línea de comando permite que Lighttpd pruebe el archivo de configuración predeterminado en busca de errores de sintaxis y salga. Use la bandera -f
para especificar un archivo de configuración personalizado:
# lighttpd -t O # lighttpd -t -f /ruta/a/config/archivo
11. Gato Apache
El servidor web Tomcat permite la verificación de sintaxis de configuración básica. Primero, muévase al directorio de instalación de Tomcat y emita el siguiente comando:
# ./bin/catalina.sh configtest O # $TOMCAT_HOME/bin/catalina.sh configtest
12. Pound Reverse Proxy
Puede analizar el archivo de configuración del servidor Pound antes de iniciar el servidor. Ejecute el comando de pound
-c
con la bandera sin ningún otro argumento para verificar el archivo de configuración predeterminado. Puede especificar un archivo de configuración diferente mediante la opción -f
de la línea de comandos:
# pound -c O # pound -f /path/to/config/file -c
13. Acelerador HTTP Varnishd
Para verificar la sintaxis del archivo varnishd VCL ( lenguaje de configuración de Varnish ) en busca de errores, use el siguiente comando. Si todo está bien, el barniz volcará la configuración generada; de lo contrario, mostrará un número de línea específico en el archivo que tiene un error:
# varnishd -C O # varnishd -f /etc/varnish/default.vcl -C
14. Servidor de almacenamiento en caché Squid Proxy
Para pasar el archivo de configuración de squid para el servidor de almacenamiento en caché proxy de Squid, emita el siguiente comando. La opción -k
, junto con los subcomandos parse o debug, indica al demonio squid que analice el archivo de configuración o habilite el modo de depuración, respectivamente:
# squid -k parse # squid -k debug
15. Servidor web Caddy
Para exponer cualquier error en la configuración del servidor web Caddy , emita el siguiente comando. El primero verifica la configuración predeterminada, alternativamente, use la opción --config
de línea de comando para especificar un archivo de configuración:
# caddy validate O # caddy validate --config /path/to/config/file
16. Servidor FTP vsftpd
Ejecute el siguiente comando para probar el archivo de configuración para el servidor FTP vsftpd :
# vsftpd O # vsftpd -olisten=NO /path/to/vsftpd.testing.conf
17. Servidor DHCPD
Ejecute el comando dhcpd con la bandera -t
para verificar la sintaxis de configuración del servidor dhcpd:
# dhcpd -t O # dhcpd -t -cf /ruta/a/dhcpd.conf
18. Servidor de base de datos MySQL
Utilice el siguiente comando para probar la sintaxis del archivo de configuración del servidor de la base de datos MySQL . Después de ejecutar el comando, si no hay errores, el servidor termina con un código de salida de 0 ; de lo contrario, muestra un mensaje de diagnóstico y termina con un código de salida de 1 :
# mysqld --validate-config
19. Servidor de base de datos MariaDB
El mismo comando utilizado para el servidor de la base de datos MariaDB también funciona para comprobar la sintaxis del archivo de configuración del servidor de la base de datos Mariadb:
# mysqld --validate-config
20. Servidor PostgreSQL
La siguiente captura de pantalla muestra un error en el archivo de configuración de PostgreSQL .
Archivo de configuración de PostgreSQL
Para detectar dicho error, cambie a la cuenta de usuario de la base de datos de postgres y acceda al shell psql . Luego ejecute el comando para identificar errores en su archivo de configuración:
postgres=# select sourcefile, name,sourceline,error from pg_file_settings where error is not null;
Comprobar errores de PostgreSQL
21. Herramienta de monitoreo de Nagios
Para verificar su configuración de Nagios , ejecute el comando nagios con la bandera -v
.
# nagios -v /usr/local/nagios/etc/nagios.cfg
22. Herramienta de monitoreo Monit
Ejecute el comando monit con la bandera -t
para realizar una verificación de sintaxis para el archivo de control Monit predeterminado. Puede especificar un archivo de control en particular, use la bandera: -c
# monit -t O # monit -t -c path/to/control/file
23. Servidor de correo Postfix
El siguiente comando lo ayudará a verificar los archivos de configuración de Postfix en busca de errores de sintaxis.
# postfix check
Este segundo comando es más detallado que el primero:
# postfix -vvv
Compruebe la configuración de Postfix
24. Servidor IMAP Dovecot
Verifique la sintaxis de configuración del servidor IMAP de Dovecot usando el comando doveconf . Saldrá con un código de error cero si todo está bien; de lo contrario, saldrá con un código de error distinto de cero y mostrará el mensaje de error:
# doveconf 1>/dev/null # echo $?
25. Servidor de archivos Samba
Puede verificar el archivo de configuración del servidor de archivos Samba usando el siguiente comando:
# testparm -v
26. Syslogd/Rsyslogd
Cuando invoque el comando rsyslod con la opción-N1
, habilitará el modo de depuración y también verificará el archivo de configuración predeterminado en busca de errores de sintaxis. Use la bandera -f
para leer un archivo de configuración personalizado:
# rsyslogd -N1
Compruebe la configuración de Rsyslod
27. Servidor DNS (BIND)
Puede verificar el archivo de configuración con nombre DNS de la siguiente manera:
# named-checkconf /etc/named.conf
28. NTP - Protocolo de tiempo de red
La sintaxis de configuración de ntpd se puede probar con el siguiente comando, donde el indicador -d
habilita el modo de depuración detallado, -f
especifica el nombre del archivo de deriva de frecuencia -n
implica que no hay bifurcación:
# ntpd -d -f /etc/ntp.conf -n
29. OpenStack-Ansible
Ejecute el siguiente comando para verificar la sintaxis de un archivo de configuración de OpenStack-ansible:
# openstack-ansible setup-infrastructure.yml --syntax-check
30. Logrotate
Para depurar un archivo de configuración logroate (servicio de rotación de registros), ejecute el comando logrotate-d
con la opción y especifique el archivo de configuración:
# logrotate -d /etc/logrotate.d/nginx
Eso es todo lo que teníamos para ti en esta guía. Comparta sus pensamientos con nosotros o haga preguntas a través del formulario de comentarios a continuación. También puede compartir más ejemplos de cómo verificar la sintaxis de configuración de cualquier aplicación o servicio que no se encuentre en la lista aquí. Estaremos encantados de añadir sus ejemplos a la guía.
-
Scripting
- Iniciar una aplicación o un programa automáticamente desde el Cron en Linux
- Operaciones matemáticas en Shell Scripts
- 30 formas de validar archivos de configuración o scripts en Linux
- Operaciones artiméticas en Shell Scripts
- Cómo intercambiar el contenido de dos archivos en Linux
- Buscar directorios vacíos en Linux y borrarlos si procede.
- Shell Script Linux: Renombra quitando espacios
- Usar con crontab - último sábado del mes
- Shell Script de Linux para analizar un Fichero Access.log
- Analizar ficheros log de Linux con Scripts
- woof Código fuente
- Como tener seguro, protegido y encriptado tu Navegador Web Firefox (versión mejorada - versión 3)
- Arrays en Bash y Loops: iterar a través de los valores de la matriz
- Pasar una variable a AWK mediante la Shell.
- System Tar and Restore: un versátil script de copia de seguridad del sistema para Linux