diff --git a/playbooks/game.yml b/playbooks/game.yml index 67a76c1..3c09090 100755 --- a/playbooks/game.yml +++ b/playbooks/game.yml @@ -7,9 +7,12 @@ - role: backup vars: backup_s3backup_list_extra: - - /opt/minecraft/valhelsia/world + - /opt/minecraft/valhelsia - /opt/minecraft/vanilla - /opt/factorio + backup_s3backup_exclude_list_extra: + - /opt/minecraft/valhelsia/backups + - /opt/minecraft/vanilla/backups become: yes tags: [ backup ] - role: minecraft diff --git a/roles/backup/defaults/main.yml b/roles/backup/defaults/main.yml index 51bdf65..4df9988 100644 --- a/roles/backup/defaults/main.yml +++ b/roles/backup/defaults/main.yml @@ -19,6 +19,9 @@ backup_s3_aws_secret_access_key: REPLACEME # If you want it to do that, end the path with a slash! backup_s3backup_list: [] backup_s3backup_list_extra: [] +# List of files/directories to --exclude +backup_s3backup_exclude_list: [] +backup_s3backup_exclude_list_extra: [] # Arguments to pass to tar # Note that passing f here is probably a bad idea backup_s3backup_tar_args: cz diff --git a/roles/backup/templates/s3backup.sh b/roles/backup/templates/s3backup.sh index f8b75b2..0bcb859 100644 --- a/roles/backup/templates/s3backup.sh +++ b/roles/backup/templates/s3backup.sh @@ -52,6 +52,12 @@ for dir in "${DIRS[@]}"; do done echo "Will upload resultant backup to {{ backup_s3_bucket }}" nice -n 10 tar {{ backup_s3backup_tar_args }}{{ backup_s3backup_tar_args_extra }} "${DIRS[@]}" \ +{% for item in backup_s3backup_exclude_list %} + --exclude "{{ item }}" \ +{% endfor %} +{% for item in backup_s3backup_exclude_list_extra %} + --exclude "{{ item }}" \ +{% endfor %} | aws s3 cp - \ "s3://{{ backup_s3_bucket }}/{{ inventory_hostname_short }}/$(date "+{{ backup_dateformat }}").tar.gz"