
Tengo crontab y un script bash simple que me envía correos electrónicos de vez en cuando que contienen errores de PHP, NGINX y MYSQL de sus archivos de registro. Este es un ejemplo simplificado.
#/home/user/status.sh
[email protected]
PHP_ERROR=`tail -5 /var/log/php-fpm/error.log`
NGINX_ERROR=`tail -5 /var/log/nginx/error.log`
MYSQL_ERROR=`tail /var/log/mysqld.log`
DISK_SPACE=`df -h`
echo "
Today's, server report::
==================================
DISK_SPACE: $DISK_SPACE
---------------------------------
MEMORY_USAGE: $MEMORY_USAGE
-----------------------------------
NGINX ERROR: $NGINX_ERROR
-----------------------------------
PHP ERRORS: $PHP_ERROR
------------------------------------
MYSQL_ERRORS: $MYSQL_ERROR
-------------------------------------
" | mail -s "Server reports" $EMAIL
Sé que este es un uso muy básico, pero como puede ver, estoy tratando de separar los errores, pero no \n
funcionan las etiquetas html incluidas.
Entonces, mi pregunta es, ¿es posible usar etiquetas HTML para formatear el texto? Si no... ¿cuáles son las alternativas?
Respuesta1
Puede utilizar cualquier formato que su cliente de correo pueda leer. Para codificar mejor su mensaje, use la <<EOF
sintaxis:
#/home/user/status.sh
[email protected]
PHP_ERROR=`tail -5 /var/log/php-fpm/error.log`
NGINX_ERROR=`tail -5 /var/log/nginx/error.log`
MYSQL_ERROR=`tail /var/log/mysqld.log`
DISK_SPACE=`df -h`
mail -s "Server reports" $EMAIL <<EOF
Today's, server report::
==================================
DISK_SPACE: $DISK_SPACE
----------------------------------
MEMORY_USAGE: $MEMORY_USAGE
----------------------------------
NGINX ERROR: $NGINX_ERROR
----------------------------------
PHP ERRORS: $PHP_ERROR
----------------------------------
MYSQL_ERRORS: $MYSQL_ERROR
----------------------------------
EOF