邮寄之前进行Logrotate加密

时间:2017-03-01 06:05:17

标签: email logging smtp pgp logrotate

我使用logrotate定期向我发送日志。我的服务器是运行Postfix的VPS,作为仅传出的SMTP服务器。

我希望所有邮寄的日志(Logrotate发送的)都用PGP或S / MIME加密。我怎么能这样做?

我搜索了logrotate邮件加密,但找不到任何内容。因此,我认为我可以在logrotate配置中传递“nomail”命令,但是然后在“postscript”中添加一个脚本来首先加密邮件然后发送。

那么,是否有更好的方法来使用PGP加密logrotate邮件?或者这就是我需要做的事情?我将不胜感激任何建议或这样的脚本的例子。

此外,我不打算使用TLS,因为有可能在SMTP服务器中绕过它。而且我宁愿依赖单个邮件的加密。

谢谢!

编辑:

这是我用于自定义电子邮件发送的脚本(现在没有GPG):

#!/bin/bash
read MSG
echo $MSG | mail -s $1 $2

但是当我用logrotate --mail=loggpg.sh --force /etc/logrotate.d/ufw强制旋转时,我一直收到有关解压缩的错误,我是否需要手动解压缩?或者脚本有错误吗?

我得到错误:

error: mail command failed for /var/log/ufw.log.5.gz
error: uncompress command failed mailing /var/log/ufw.log.5.gz`

1 个答案:

答案 0 :(得分:0)

您可以使用--mail命令行选项执行logrotate。它允许您使用自己的shell / perl / python脚本发送电子邮件而不是默认的/bin/mail -s

man logrotate

  

选项
  ...
    -m, - mail
                告诉logrotate在邮寄日志时使用哪个命令。此命令应接受两个参数:1)消息的主题,和                 2)收件人。然后,该命令必须读取标准输入上的消息并将其邮寄给收件人。默认邮件命令是                 / bin / mail -s。