Как использовать теги разметки HTML внутри скрипта Bash

Как использовать теги разметки HTML внутри скрипта Bash

У меня есть crontab и простой скрипт bash, который часто отправляет мне письма, содержащие ошибки PHP, NGINX, MYSQL из их лог-файлов. Это упрощенный пример.

#/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

Я знаю, что это очень простое использование, но, как вы видите, я пытаюсь отделить ошибки, а не те html-теги, которые в том числе \nработают.

Итак, мой вопрос: возможно ли использовать HTML-теги для форматирования текста? Если нет, то какие есть альтернативы?

решение1

Вы можете использовать любое форматирование, которое может прочитать ваш почтовый клиент. Чтобы лучше закодировать сообщение, используйте синтаксис <<EOF:

#/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

Связанный контент