From 7bbf035ca8649983ef1d415f9322828d8e5a09b2 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Sat, 3 Jul 2021 13:24:52 -0500 Subject: Add aws s3 versioning and lifecycles to backup. --- .../aws-s3-backup/files/mercurial-s3-backup-lifecycle.json | 12 ++++++++++++ mercurial/aws-s3-backup/files/mercurial-s3-backup.sh | 5 +++-- mercurial/aws-s3-backup/tasks/main.yaml | 7 +++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 mercurial/aws-s3-backup/files/mercurial-s3-backup-lifecycle.json (limited to 'mercurial') diff --git a/mercurial/aws-s3-backup/files/mercurial-s3-backup-lifecycle.json b/mercurial/aws-s3-backup/files/mercurial-s3-backup-lifecycle.json new file mode 100644 index 0000000..fa75f06 --- /dev/null +++ b/mercurial/aws-s3-backup/files/mercurial-s3-backup-lifecycle.json @@ -0,0 +1,12 @@ +{ + "Rules": [ + { + "ID": "pleroma-expiration", + "Filter": {}, + "Status": "Enabled", + "NoncurrentVersionExpiration": { + "NoncurrentDays": 30 + } + } + ] +} diff --git a/mercurial/aws-s3-backup/files/mercurial-s3-backup.sh b/mercurial/aws-s3-backup/files/mercurial-s3-backup.sh index c027d0a..7317a36 100644 --- a/mercurial/aws-s3-backup/files/mercurial-s3-backup.sh +++ b/mercurial/aws-s3-backup/files/mercurial-s3-backup.sh @@ -1,12 +1,13 @@ #!/bin/bash BUCKET=$1 -DATE=`date --iso-8601` BACKUP_DIR=$2 -BACKUP_TAR="/tmp/$BUCKET-$DATE.tgz" +BACKUP_TAR="/tmp/$BUCKET.tgz" tar -zc -f $BACKUP_TAR $BACKUP_DIR aws s3 mb "s3://$BUCKET/" +aws s3api put-bucket-versioning --bucket "$BUCKET" --versioning-configuration Status=Enabled +aws s3api put-bucket-lifecycle-configuration --bucket "$BUCKET" --lifecycle-configuration "file:///usr/local/share/mercurial-s3-backup-lifecycle.json" aws s3 cp $BACKUP_TAR "s3://$BUCKET/" rm $BACKUP_TAR diff --git a/mercurial/aws-s3-backup/tasks/main.yaml b/mercurial/aws-s3-backup/tasks/main.yaml index 45a3457..a476303 100644 --- a/mercurial/aws-s3-backup/tasks/main.yaml +++ b/mercurial/aws-s3-backup/tasks/main.yaml @@ -7,6 +7,13 @@ dest: "/usr/local/bin/mercurial-s3-backup.sh" mode: "0755" +- name: create s3 backup lifesycle json file + become: yes + copy: + src: "mercurial-s3-backup-lifecycle.json" + dest: "/usr/local/share/mercurial-s3-backup-lifecycle.json" + mode: "0755" + - name: configure mercurial s3 backup systemd service become: yes template: -- cgit v1.2.3