Bash 스크립트 내에서 HTML 마크업 태그를 사용하는 방법

Bash 스크립트 내에서 HTML 마크업 태그를 사용하는 방법

나는 crontab과 로그 파일의 PHP, NGINX, MYSQL 오류가 포함된 이메일을 자주 보내는 간단한 bash 스크립트를 가지고 있습니다. 이것은 단순화된 예입니다.

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

관련 정보