28 lines
611 B
Bash
Executable File
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" |