feat: Add backup script

This commit is contained in:
2026-02-22 18:48:11 +01:00
parent 619a93d5cf
commit 65194d49a9

27
backup.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
set -e
if [ -z "$1" ]; then
echo "Usage: $0 <password>"
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:<password> | tar xzf -"