commit 9b77a542674082ecc389e42a5ca93bfd2f1a58d2 Author: Pierre-Olivier Mercier Date: Tue Mar 14 13:18:46 2023 +0100 Initial commit diff --git a/files/backup-strategy.sh b/files/backup-strategy.sh new file mode 100755 index 0000000..ec45e23 --- /dev/null +++ b/files/backup-strategy.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Over 1 year, keep only 1 backup per 6 months +find -ctime +365 | grep -Ev -- '-0[16]-15\.' | xargs rm -fv + +# Over 6 months, keep only 1 backup per month +find -ctime +183 | grep -v -- '-15.' | xargs rm -fv + +# Over 1 month, keep only 2 backups per month +find -ctime +31 | grep -Ev -- '-(1|15)\.' | xargs rm -fv + +# Over 1 week, keep only 1 backup per week +find -ctime +8 | grep -Ev -- '-(1|8|15|22|29)\.' | xargs rm -fv diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..9b2f204 --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,24 @@ +--- + +dependencies: [] + +galaxy_info: + role_name: backup-strategy + author: 'Pierre-Olivier Mercier ' + description: Install a script to be able to perform a cleaning between backups + license: GPL-3.0-or-later + min_ansible_version: 2.9 + platforms: + - name: Alpine + versions: + - all + - name: Debian + versions: + - all + - name: Gentoo + versions: + - all + - name: Ubuntu + versions: + - all + galaxy_tags: [] diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..5fd8d44 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,5 @@ +--- +- name: Copy the backup strategy script + copy: + src: backup_strategy.sh + dest: /media/backups/backup_strategy.sh