gabops.logrotate
gabops.logrotate
安装和配置 logrotate。
要求
无。
角色变量
变量 | 默认值 | 描述 |
---|---|---|
logrotate_packages | [] | 定义要安装 logrotate 所需的包列表。请注意,该角色已经处理了要安装的包,但是,这个变量允许您根据需要声明自己的包列表。 |
logrotate_enable_repo | "" | 定义在安装 logrotate_packages 变量中定义的包时要启用的仓库。请注意,此选项仅在 RedHat 系列发行版中有效。 |
logrotate_config_global | [] | 定义要应用于 /etc/logrotate.conf 的配置。请注意,如果此变量为空(默认值),则 logrotate.conf 文件不会被修改。 |
logrotate_config_files | [] | 定义要应用的单个 logrotate 配置。有关更多信息,请参见 注意事项 和 示例剧本 。 |
注意事项:
- 所有在
logrotate_config_files
中定义的配置将应用于默认目录/etc/logrotate.d
。如果在logrotate_config_global
变量中声明了include
指令,则可以更改此行为。例如,如果您定义:
logrotate_config_global:
- include
- weekly
- rotate 4
- create
- dateext
- include /etc/customdir
该角色将自动检测 include
指令中的路径,并使用该路径,而不是默认的 /etc/logrotate.d
。
在
logrotate_config_files
中定义的所有配置将使用name
中定义的值作为文件名添加到单独的文件中。logrotate_config_files
中每个定义所需的参数为:
logrotate_config_files:
- name: "" # => 必填。
state: "" # => 可选:可能的值为 present 或 absent。如果未声明,默认值为 present。
path: "" # => 必填(可以是字符串或列表)。
directives: "" # => 必填。
依赖项
无。
示例剧本
- hosts: servers
vars:
logrotate_config_global:
- weekly
- rotate 4
- create
- dateext
- include /etc/logrotate.d
logrotate_config_files:
- name: messages
state: absent
path: /var/log/messages
directives: |
rotate 5
weekly
postrotate
/usr/bin/killall -HUP syslogd
endscript
- name: httpd
path:
- /var/log/httpd/access.log
- /var/log/httpd/error.log
directives: |
rotate 5
mail [email protected]
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
roles:
- role: gabops.logrotate
许可证
作者信息
Gabriel Suarez (Gabops)