![将 cron 输出作为文本文件附件发送](https://linux22.com/image/642501/%E5%B0%86%20cron%20%E8%BE%93%E5%87%BA%E4%BD%9C%E4%B8%BA%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E9%99%84%E4%BB%B6%E5%8F%91%E9%80%81.png)
我为客户在 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
):
我的问题是是否有更安全的方法通过邮件发送 cron 作业输出作为文本文件附件我知道在 perl 的帮助下可以做很多事情(而且我可以对其进行编程),但我想知道是否有更简单的方法 - 使用uuen编码或者邮箱或者其他一些实用程序?
答案1
mailx
有-a <filename>
添加附件的开关。而且在 CentOS 6 上默认/bin/mail
已经是 mailx。