logrotate 后加密日志文件
encrypt log file after logrotation
我有一个 nginx logrotation 运行,我的目标是在可能使用 pgp 旋转和压缩后加密文件,所以有没有办法将其作为后旋转或者我应该为此使用 cronjob ?我愿意接受任何建议。
假设您有一个 pgp 密钥对,您可以在轮换配置的 post-轮换部分执行以下操作:
gpg --output .$(date "+%Y%m%d-%H%M%S").gpg --always-trust --encrypt --recipient "your-pgp-username" .1
有关此命令的详细信息:
输出文件指定根据旋转文件的时间戳写入。
添加“--always-trust”选项以避免手动信任所使用的public密钥。
"recipient" 是拥有 public 密钥的人的姓名。
"${1}.1" 加密刚刚轮转的日志文件。
此外,您不应忘记删除任何压缩的旋转文件和早于 n 天的加密文件,这些文件也可以添加到 post-旋转中,如下所示:
find /path/to/file/directory -name "*.gz" -mmin +0 -exec rm -f {} \;
find /path/to/file/directory -name "*.gpg" -mtime +n -exec rm -f {} \;
希望对您有所帮助!
我有一个 nginx logrotation 运行,我的目标是在可能使用 pgp 旋转和压缩后加密文件,所以有没有办法将其作为后旋转或者我应该为此使用 cronjob ?我愿意接受任何建议。
假设您有一个 pgp 密钥对,您可以在轮换配置的 post-轮换部分执行以下操作:
gpg --output .$(date "+%Y%m%d-%H%M%S").gpg --always-trust --encrypt --recipient "your-pgp-username" .1
有关此命令的详细信息:
输出文件指定根据旋转文件的时间戳写入。
添加“--always-trust”选项以避免手动信任所使用的public密钥。
"recipient" 是拥有 public 密钥的人的姓名。
"${1}.1" 加密刚刚轮转的日志文件。
此外,您不应忘记删除任何压缩的旋转文件和早于 n 天的加密文件,这些文件也可以添加到 post-旋转中,如下所示:
find /path/to/file/directory -name "*.gz" -mmin +0 -exec rm -f {} \;
find /path/to/file/directory -name "*.gpg" -mtime +n -exec rm -f {} \;
希望对您有所帮助!