Проблемы кодировки при использовании linux утилиты mail для отправки отчетов

Недавно мы столкнулись с проблемой кодировки при отправке отчетов по крону.

Ниже представлена часть скрипта.

   if [ $err_f -ne 0 ]
   then
    echo "Резервное копирование директориях $dirr_nn на rum-gpfsstorage0 завершилось неудачно.
      Смотри логи $log_nn  на rum-gpfs-b1.scanex.ru в директории /scripts/logs/ .Резервное копирование остальных директорий завершилось удачно." | mail -r "backup-rum-gpfs@scanex.ru" -s "backup gpfs $dirr_nn directories failed" adm@scanex.ru
    else
    echo  "Резервное копирование  завершилось удачно." |    mail -r "backup-rum-gpfs@scanex.ru" -s "backup all gpfs directories successfull" adm@scanex.ru
    fi

Когда скрипт запускался по cron тело письма было нечитабельным. Ниже header письма:

 User-Agent: Heirloom mailx 12.4 7/29/08
 MIME-Version: 1.0
 Content-Type: application/octet-stream
 Content-Transfer-Encoding: 8bit

Если же скрипт запускался вручную все было в порядке. Header ниже:

 User-Agent: Heirloom mailx 12.4 7/29/08
 MIME-Version: 1.0
 Content-Type: text/plain; charset=utf-8
 Content-Transfer-Encoding: 8bit

Решение оказалось очень простым. Для изменения Content-Type на text/plain; charset=utf-8 необходимо добавить в начало скрипта следующую запись:

export LANG=en_US.UTF-8

Об авторе

Profile автора

ru/jobs/bashlinuxmail_encoding.txt · Last modified: 2015/03/12 17:13 by admin
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki