Logrotate с игровой книжкой - PullRequest
1 голос
/ 15 октября 2019

, поэтому я хотел бы создать сборник рассказов, который устанавливает 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

1 Ответ

1 голос
/ 15 октября 2019

Давайте использовать blockinfile . Например, задача

- blockinfile:
    path: "/etc/logrotate.d/{{ item.path }}"
    block: "{{ item.conf }}"
    create: yes
  loop: "{{ lp_logrotate_confd }}"

с переменной

lp_logrotate_confd:
  - path: "ansible"
    conf: |
      /var/log/ansible.log {
             weekly
             rotate 3
             size 10M
             compress
             delaycompress
      }

создает

$ 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...