src.nth.io/

summaryrefslogtreecommitdiff
path: root/git/aws-s3-backup/files/git-s3-backup.sh
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2026-04-05 15:50:31 -0500
committerLuke Hoersten <[email protected]>2026-04-05 15:50:31 -0500
commite925453eab7024b5f169bbeef6a281c9952b1d30 (patch)
treeaf53745934dd462930c33a0f38530752d8e1c4fc /git/aws-s3-backup/files/git-s3-backup.sh
parent55e55db9154e80aec134eef17d9d883d0213d4c4 (diff)
Add git/aws-s3-backup and git/web (cgit) roles
Diffstat (limited to 'git/aws-s3-backup/files/git-s3-backup.sh')
-rw-r--r--git/aws-s3-backup/files/git-s3-backup.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/git/aws-s3-backup/files/git-s3-backup.sh b/git/aws-s3-backup/files/git-s3-backup.sh
new file mode 100644
index 0000000..c6dbcf1
--- /dev/null
+++ b/git/aws-s3-backup/files/git-s3-backup.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+BUCKET=$1
+BACKUP_DIR=$2
+DATE=$(date +%Y-%m-%d)
+BACKUP_TAR=$(mktemp /tmp/git-s3-backup.XXXXXX.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/git-s3-backup-lifecycle.json"
+aws s3 cp "$BACKUP_TAR" "s3://$BUCKET/git-s3-backup-$DATE.tgz"
+
+rm "$BACKUP_TAR"