gpt4 book ai didi

ansible - 使用 ansible playbook 进行 Logrotate

转载 作者:行者123 更新时间:2023-12-03 18:44:41 26 4
gpt4 key购买 nike

所以我想创建一个 ansible playbook,在公司的所有服务器上安装 logrotate。还将它们配置为将日志设置为每周备份,然后在一周后删除。所以每周它都会创建一个新日志,备份上周的日志,并在第三周删除第一个并重复。

到目前为止,我已经找到了这个,但我们不使用 nginx。它并不完全符合我的要求。我在剧本方面的知识非常有限,所以如果有人可以提供帮助,那就太棒了。我还需要它来检查服务器是否有 tomcat、apache 或 wildfly,然后获取这些日志。

logrotate_scripts:
- name: nginx-options
path: /var/log/nginx/options.log
options:
- daily
- weekly
- size 25M
- rotate 7
- missingok
- compress
- delaycompress
- copytruncate

最佳答案

让我们使用 blockinfile 。例如任务

    - blockinfile:
path: "/etc/logrotate.d/{{ item.path }}"
block: "{{ item.conf }}"
create: true
loop: "{{ lp_logrotate_confd }}"
与变量
    lp_logrotate_confd:
- path: ansible
conf: |
/var/log/ansible.log {
weekly
rotate 3
size 10M
compress
delaycompress
}
创造
    shell> cat /etc/logrotate.d/ansible 
# BEGIN ANSIBLE MANAGED BLOCK
/var/log/ansible.log {
weekly
rotate 3
size 10M
compress
delaycompress
}
# END ANSIBLE MANAGED BLOCK
将项目添加到列表并根据您的需要调整配置数据。为方便起见,代码可在 GitHub 获得。

关于ansible - 使用 ansible playbook 进行 Logrotate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58389314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com