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