clean-backup.yaml hinzugefügt
This commit is contained in:
98
clean-backup.yaml
Normal file
98
clean-backup.yaml
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
---
|
||||||
|
# This playbook removes ol backups
|
||||||
|
- name: Cleanup old backups
|
||||||
|
hosts: all
|
||||||
|
gather_facts: True
|
||||||
|
vars:
|
||||||
|
directories:
|
||||||
|
- /media/backup/docker
|
||||||
|
- /media/backup/strato-production
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Register all backup directories
|
||||||
|
find:
|
||||||
|
paths: "{{ item }}"
|
||||||
|
file_type: directory
|
||||||
|
recurse: false
|
||||||
|
register: backup_dirs
|
||||||
|
loop: "{{ directories }}"
|
||||||
|
|
||||||
|
- name: Find old daily backups
|
||||||
|
find:
|
||||||
|
paths: "{{ item[1].path }}/daily"
|
||||||
|
file_type: file
|
||||||
|
age: 7d
|
||||||
|
age_stamp: mtime
|
||||||
|
recurse: false
|
||||||
|
register: backup_files
|
||||||
|
loop: "{{ backup_dirs.results | subelements('files') }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item[1].path }}"
|
||||||
|
|
||||||
|
- name: Delete old daily backups
|
||||||
|
file:
|
||||||
|
path: "{{ item[1].path }}"
|
||||||
|
state: absent
|
||||||
|
loop: "{{ backup_files.results | subelements('files') }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item[1].path }}"
|
||||||
|
|
||||||
|
- name: Find old weekly backups
|
||||||
|
find:
|
||||||
|
paths: "{{ item[1].path }}/weekly"
|
||||||
|
file_type: file
|
||||||
|
age: 4w
|
||||||
|
age_stamp: mtime
|
||||||
|
recurse: false
|
||||||
|
register: backup_files
|
||||||
|
loop: "{{ backup_dirs.results | subelements('files') }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item[1].path }}"
|
||||||
|
|
||||||
|
- name: Delete old weekly backups
|
||||||
|
file:
|
||||||
|
path: "{{ item[1].path }}"
|
||||||
|
state: absent
|
||||||
|
loop: "{{ backup_files.results | subelements('files') }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item[1].path }}"
|
||||||
|
|
||||||
|
- name: Find old monthly backups
|
||||||
|
find:
|
||||||
|
paths: "{{ item[1].path }}/monthly"
|
||||||
|
file_type: file
|
||||||
|
age: 48w
|
||||||
|
age_stamp: mtime
|
||||||
|
recurse: false
|
||||||
|
register: backup_files
|
||||||
|
loop: "{{ backup_dirs.results | subelements('files') }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item[1].path }}"
|
||||||
|
|
||||||
|
- name: Delete old monthly backups
|
||||||
|
file:
|
||||||
|
path: "{{ item[1].path }}"
|
||||||
|
state: absent
|
||||||
|
loop: "{{ backup_files.results | subelements('files') }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item[1].path }}"
|
||||||
|
|
||||||
|
- name: Find old yearly backups
|
||||||
|
find:
|
||||||
|
paths: "{{ item[1].path }}/yearly"
|
||||||
|
file_type: file
|
||||||
|
age: 156w
|
||||||
|
age_stamp: mtime
|
||||||
|
recurse: false
|
||||||
|
register: backup_files
|
||||||
|
loop: "{{ backup_dirs.results | subelements('files') }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item[1].path }}"
|
||||||
|
|
||||||
|
- name: Delete old yearly backups
|
||||||
|
file:
|
||||||
|
path: "{{ item[1].path }}"
|
||||||
|
state: absent
|
||||||
|
loop: "{{ backup_files.results | subelements('files') }}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item[1].path }}"
|
||||||
Reference in New Issue
Block a user