Files
ansible/playbooks/playbook_cleanup.yml
2026-07-12 08:44:40 +02:00

47 lines
1.8 KiB
YAML

---
# Rutynowe sprzątanie/kondycja systemu: apt autoremove/clean, czyszczenie journala,
# sprawdzenie zajętości dysku z progiem ostrzegawczym (domyślnie 85%, group_vars/all.yml).
- name: Sprzątanie i kondycja systemu
hosts: all
gather_facts: true
tasks:
- name: Usuń nieużywane pakiety (apt autoremove)
ansible.builtin.apt:
autoremove: yes
purge: yes
when: ansible_os_family in ["Debian", "Ubuntu"]
- name: Wyczyść lokalny cache pobranych pakietów (apt clean)
ansible.builtin.apt:
autoclean: yes
when: ansible_os_family in ["Debian", "Ubuntu"]
- name: Wyczyść dziennik systemowy starszy niż 7 dni (journalctl --vacuum-time)
ansible.builtin.command: journalctl --vacuum-time=7d
register: journal_vacuum
changed_when: "'Vacuuming done' in journal_vacuum.stdout and 'freed' in journal_vacuum.stdout"
when: ansible_service_mgr == "systemd"
- name: Odśwież fakty o zajętości dysku (po sprzątaniu)
ansible.builtin.setup:
filter: ansible_mounts
gather_timeout: 30
- name: Sprawdź zajętość dysku na partycji root
ansible.builtin.set_fact:
root_disk_percent_used: >-
{{ (( (mount.size_total - mount.size_available) / mount.size_total * 100) | round(0, 'ceil')) | int }}
vars:
mount: "{{ ansible_mounts | selectattr('mount', 'equalto', '/') | first }}"
when: ansible_mounts | selectattr('mount', 'equalto', '/') | list | length > 0
- name: OSTRZEŻENIE — zajętość dysku powyżej progu
ansible.builtin.debug:
msg: >-
WARN [{{ inventory_hostname }}]: dysk / zajęty w {{ root_disk_percent_used }}%
(próg: {{ disk_usage_warn_percent }}%)
when:
- root_disk_percent_used is defined
- root_disk_percent_used | int >= disk_usage_warn_percent | int