将 cron 输出作为文本文件附件发送

将 cron 输出作为文本文件附件发送

我为客户在 CentOS 6.5 Linux 服务器上管理一款多人游戏。

客户要求我以文本文件附件的形式发送每日聊天记录(以识别和禁止激进玩家)。

因此我想出了以下 crontab 命令:

CONTENT_TYPE="text/plain; charset=utf-8"
[email protected]
LANG=en_US.UTF-8
#minute hour    mday    month   wday    command

55      23      *       *       *       
grep CHAT /var/log/game-`date +\%a`-*.txt | 
(echo 'The log is attached'; uuencode `date +\%A`.txt) | 
mail -s 'The daily chat log' [email protected] 

对我来说,使用 Gmail 时,这种方法很有效。但客户只使用 Mail.ru 或 Yandex.ru 账户,因此情况很糟糕 - 没有显示附件,他看到的是uuen编码输出内联(又名begin 664 MT)Blah§$%&Blah):

Yandex 邮件截图

我的问题是是否有更安全的方法通过邮件发送 cron 作业输出作为文本文件附件我知道在 perl 的帮助下可以做很多事情(而且我可以对其进行编程),但我想知道是否有更简单的方法 - 使用uuen编码或者邮箱或者其他一些实用程序?

答案1

mailx-a <filename>添加附件的开关。而且在 CentOS 6 上默认/bin/mail已经是 mailx。

相关内容