47 lines
1.8 KiB
YAML
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
|