Files
zshrc/scripts/bin/compress-zst-gpg
T
2023-02-18 11:11:16 -05:00

28 lines
611 B
Bash
Executable File

#!/usr/bin/env bash
level="${level:-19}"
cmd=$(which tar)
if command -v "gtar" &> /dev/null; then
cmd=$(which gtar)
fi
echo "Using $cmd"
# Read first parameter
arg1="$1"
name="$1".tar.zst.gpg
shift
echo "Output to $name"
# Read second parameter
if [[ -z "$*" ]]; then
files="$arg1"
else
files="$*"
fi
echo "Compressing $files"
cores=$(python3 -c "import os; print(os.cpu_count())")
echo "Starting ZSTD compression with $cores cores and level $level"
"$cmd" -I "zstd -T$cores -$level" --checkpoint=.1024 --totals --totals=SIGUSR1 -cf - "$files" | gpg --symmetric --cipher-algo aes256 -o "$name"