82 lines
1.8 KiB
YAML
82 lines
1.8 KiB
YAML
---
|
|
- hosts: all
|
|
become: true
|
|
|
|
vars:
|
|
journal_size: "200M"
|
|
log_age: 30
|
|
|
|
tasks:
|
|
|
|
- name: Show disk usage before cleanup
|
|
command: df -h /
|
|
register: disk_before
|
|
changed_when: false
|
|
|
|
- debug:
|
|
var: disk_before.stdout_lines
|
|
|
|
- name: Clean apt cache
|
|
apt:
|
|
autoclean: yes
|
|
autoremove: yes
|
|
|
|
- name: Remove package cache
|
|
command: apt clean
|
|
changed_when: false
|
|
|
|
- name: Vacuum journal
|
|
command: journalctl --vacuum-size={{ journal_size }}
|
|
changed_when: true
|
|
|
|
- name: Find Docker
|
|
stat:
|
|
path: /var/run/docker.sock
|
|
register: docker
|
|
|
|
- name: Docker system prune
|
|
command: docker system prune -af
|
|
when: docker.stat.exists
|
|
|
|
- name: Docker volume prune
|
|
command: docker volume prune -f
|
|
when: docker.stat.exists
|
|
|
|
- name: Truncate Docker logs
|
|
shell: |
|
|
find /var/lib/docker/containers \
|
|
-name '*-json.log' \
|
|
-exec truncate -s 0 {} \;
|
|
when: docker.stat.exists
|
|
|
|
- name: Check audit log
|
|
stat:
|
|
path: /var/log/audit/audit.log
|
|
register: auditlog
|
|
|
|
- name: Truncate audit log
|
|
command: truncate -s 0 /var/log/audit/audit.log
|
|
when: auditlog.stat.exists
|
|
|
|
- name: Delete old rotated logs
|
|
shell: |
|
|
find /var/log -type f \
|
|
\( -name "*.gz" -o -name "*.1" -o -name "*.old" \) \
|
|
-mtime +{{ log_age }} \
|
|
-delete
|
|
|
|
- name: Show top directories
|
|
shell: du -xh / --max-depth=1 2>/dev/null | sort -hr
|
|
register: topdirs
|
|
changed_when: false
|
|
|
|
- debug:
|
|
var: topdirs.stdout_lines
|
|
|
|
- name: Show disk usage after cleanup
|
|
command: df -h /
|
|
register: disk_after
|
|
changed_when: false
|
|
|
|
- debug:
|
|
var: disk_after.stdout_lines |