From 65194d49a95eb10d57b650536a2d213eff56bb65 Mon Sep 17 00:00:00 2001 From: Denis Lugowski Date: Sun, 22 Feb 2026 18:48:11 +0100 Subject: [PATCH] feat: Add backup script --- backup.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 backup.sh diff --git a/backup.sh b/backup.sh new file mode 100755 index 0000000..308a145 --- /dev/null +++ b/backup.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +PASSWORD="$1" +PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)" +PROJECT_NAME="$(basename "$PROJECT_DIR")" +TIMESTAMP="$(date +%Y%m%d_%H%M%S)" +OUTPUT="$HOME/${PROJECT_NAME}_${TIMESTAMP}.tar.gz.enc" + +echo "Creating encrypted archive of '$PROJECT_NAME'..." + +tar czf - \ + --exclude-from="$PROJECT_DIR/.gitignore" \ + --exclude=".git" \ + -C "$(dirname "$PROJECT_DIR")" \ + "$PROJECT_NAME" | \ + openssl enc -aes-256-cbc -pbkdf2 -salt -pass "pass:$PASSWORD" -out "$OUTPUT" + +echo "Done: $OUTPUT" +echo "" +echo "To decrypt and extract:" +echo " openssl enc -d -aes-256-cbc -pbkdf2 -in \"$OUTPUT\" -pass pass: | tar xzf -"