logrotation后加密日志文件

时间:2018-04-05 12:55:24

标签: nginx cron pgp logrotate

我运行了nginx logrotation,我的目的是在使用pgp进行旋转和压缩后对文件进行加密,那么有没有办法将其作为postrotate或者我应该使用cronjob?我对任何建议持开放态度。

1 个答案:

答案 0 :(得分:0)

假设您有一个pgp密钥对,您可以在轮换配置的后旋转部分执行以下操作:

gpg --output ${1}.$(date "+%Y%m%d-%H%M%S").gpg --always-trust --encrypt --recipient "your-pgp-username" ${1}.1

有关此命令的详细信息:

  • 指定输出文件根据旋转文件的时间戳写入。

  • 添加“ - always-trust”选项以避免手动信任所使用的公钥。

  • “收件人”是拥有公钥的人的姓名。

  • “$ {1} .1”加密刚刚轮换的日志文件。

此外,您不应忘记删除任何压缩的旋转文件和超过n天的加密文件,这些文件也可以在后旋转中添加,如下所示:

find /path/to/file/directory -name "*.gz" -mmin +0 -exec rm -f {} \;
find /path/to/file/directory -name "*.gpg" -mtime +n -exec rm -f {} \;

希望这有帮助!