Files
gremiumhub/backup.sh

28 lines
717 B
Bash
Executable File

#!/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 -"