使用ansible剧本修改现有的logrotate文件



我希望创建一个可执行的剧本来在我们的环境中轮换syslog和daemon.log。我不想使用易受质疑的银河系角色。

理想情况下,我只需要修改/etc/logrotate.d中现有的rsyslog文件,并将/var/log/daemon.log添加到第一个卷曲块(见下文(。

我指的是以下链接,但我无法完全理解这个概念,因为我是Ansible的新用户。

https://ansible-tips-and-tricks.readthedocs.io/en/latest/modifying-files/modifying-files/

/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
}

所需:

/var/log/syslog
/var/log/daemon.log
{
rotate 14
daily
missingok
notifempty
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
...

使用ansiblereplace模块和lineinfile模块可以完成此任务。不需要寻找可靠的银河系角色。你可以为这种自动化编写简单的剧本。

最新更新