Files
ansible_role_proxmox_provision/tasks/logrotate.yml
Jose abdba53053
Some checks failed
ansible-lint / Ansible Lint (push) Failing after 11s
Gitleaks Scan / gitleaks (push) Successful in 5s
Markdown Lint / markdown-lint (push) Successful in 5s
refactor ♻️: Refactor logrotate tasks for better readability and consistency - Rename 'logrotate reload' task to 'Logrotate reload' - Refactor task names in subscription.yml for better organization and clarity
This commit refactors the logrotate tasks by renaming them for better readability and consistency, and refactoring task names in `subscription.yml` for improved organization and clarity.
2026-02-09 18:20:19 +01:00

111 lines
3.1 KiB
YAML

---
- name: logrotate | Configure all main Proxmox logs
vars:
proxmox_logrotate_files:
- /etc/logrotate.conf
- /etc/logrotate.d/pve
- /etc/logrotate.d/pve-firewall
loop: "{{ proxmox_logrotate_files }}"
loop_control:
loop_var: item
block:
- name: logrotate | Check if {{ item }} exists
ansible.builtin.stat:
path: "{{ item }}"
register: logrotate_file
- name: logrotate | Configure {{ item }}
when: logrotate_file.stat.exists
block:
- name: logrotate | Backup {{ item }} once
ansible.builtin.copy:
src: "{{ item }}"
dest: "{{ item }}.original"
owner: root
group: root
remote_src: true
args:
creates: "{{ item }}.original"
- name: logrotate | Ensure daily rotation
ansible.builtin.replace:
path: "{{ item }}"
regexp: '^\s*weekly'
replace: 'daily'
notify: Logrotate reload
- name: logrotate | Set rotate (number of retained logs)
ansible.builtin.lineinfile:
path: "{{ item }}"
regexp: '^(\s*rotate\s+).*'
line: ' rotate {{ proxmox_logrotate_rotate }}'
state: present
insertafter: '^\s*daily'
notify: Logrotate reload
- name: logrotate | Ensure maxsize is set
ansible.builtin.lineinfile:
path: "{{ item }}"
regexp: '^(\s*maxsize\s+).*'
line: ' maxsize {{ proxmox_logrotate_maxsize }}'
state: present
insertafter: '^\s*rotate'
notify: Logrotate reload
- name: logrotate | Ensure Compress
ansible.builtin.lineinfile:
path: "{{ item }}"
regexp: '^\s*compress\b'
line: ' compress'
state: present
insertafter: '^\s*maxsize'
notify: Logrotate reload
- name: logrotate | Ensure delaycompress
ansible.builtin.lineinfile:
path: "{{ item }}"
regexp: '^\s*delaycompress\b'
line: ' delaycompress'
state: present
insertafter: '^\s*compress'
notify: Logrotate reload
# only for logrotate.conf
- name: logrotate | Uncomment dateext if commented
ansible.builtin.replace:
path: /etc/logrotate.conf
regexp: '^\s*#\s*(dateext)\b'
replace: '\1'
notify: Logrotate reload
- name: logrotate | Uncomment compress if commented
ansible.builtin.replace:
path: /etc/logrotate.conf
regexp: '^\s*#\s*(compress)\b'
replace: '\1'
notify: Logrotate reload
- name: logrotate | Ensure missingok is present
ansible.builtin.lineinfile:
path: /etc/logrotate.conf
regexp: '^\s*missingok\b'
line: 'missingok'
state: present
insertafter: EOF
notify: Logrotate reload
- name: logrotate | Ensure notifempty is present
ansible.builtin.lineinfile:
path: /etc/logrotate.conf
regexp: '^\s*notifempty\b'
line: 'notifempty'
state: present
insertafter: EOF
notify: Logrotate reload