feat: Add pigz support for parallel tar compression if available.
This commit is contained in:
31
hanatool.sh
31
hanatool.sh
@@ -30,6 +30,13 @@ DRY_RUN=false
|
|||||||
NTFY_TOKEN=""
|
NTFY_TOKEN=""
|
||||||
IMPORT_REPLACE=false
|
IMPORT_REPLACE=false
|
||||||
|
|
||||||
|
# Detect pigz for parallel compression
|
||||||
|
if command -v pigz &>/dev/null; then
|
||||||
|
USE_PIGZ=true
|
||||||
|
else
|
||||||
|
USE_PIGZ=false
|
||||||
|
fi
|
||||||
|
|
||||||
# --- Help/Usage Function ---
|
# --- Help/Usage Function ---
|
||||||
usage() {
|
usage() {
|
||||||
echo "SAP HANA Schema and Tenant Management Tool"
|
echo "SAP HANA Schema and Tenant Management Tool"
|
||||||
@@ -228,9 +235,17 @@ case "$ACTION" in
|
|||||||
|
|
||||||
TAR_EXIT_CODE=0
|
TAR_EXIT_CODE=0
|
||||||
if [[ "$DRY_RUN" == "true" ]]; then
|
if [[ "$DRY_RUN" == "true" ]]; then
|
||||||
echo "[DRY RUN] Would execute tar: tar -czf \"$ARCHIVE_FILE\" -C \"$backup_target_dir\" ."
|
if [[ "$USE_PIGZ" == "true" ]]; then
|
||||||
|
echo "[DRY RUN] Would execute tar (pigz): tar -I \"pigz -p $THREADS\" -cf \"$ARCHIVE_FILE\" -C \"$backup_target_dir\" ."
|
||||||
|
else
|
||||||
|
echo "[DRY RUN] Would execute tar: tar -czf \"$ARCHIVE_FILE\" -C \"$backup_target_dir\" ."
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
tar -czf "$ARCHIVE_FILE" -C "$backup_target_dir" .
|
if [[ "$USE_PIGZ" == "true" ]]; then
|
||||||
|
tar -I "pigz -p $THREADS" -cf "$ARCHIVE_FILE" -C "$backup_target_dir" .
|
||||||
|
else
|
||||||
|
tar -czf "$ARCHIVE_FILE" -C "$backup_target_dir" .
|
||||||
|
fi
|
||||||
TAR_EXIT_CODE=$?
|
TAR_EXIT_CODE=$?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -304,9 +319,17 @@ case "$ACTION" in
|
|||||||
|
|
||||||
TAR_EXIT_CODE=0
|
TAR_EXIT_CODE=0
|
||||||
if [[ "$DRY_RUN" == "true" ]]; then
|
if [[ "$DRY_RUN" == "true" ]]; then
|
||||||
echo "[DRY RUN] Would execute tar: tar -czf \"$ARCHIVE_FILE\" -C \"$(dirname "$EXPORT_DIR")\" \"$(basename "$EXPORT_DIR")\""
|
if [[ "$USE_PIGZ" == "true" ]]; then
|
||||||
|
echo "[DRY RUN] Would execute tar (pigz): tar -I \"pigz -p $THREADS\" -cf \"$ARCHIVE_FILE\" -C \"$(dirname "$EXPORT_DIR")\" \"$(basename "$EXPORT_DIR")\""
|
||||||
|
else
|
||||||
|
echo "[DRY RUN] Would execute tar: tar -czf \"$ARCHIVE_FILE\" -C \"$(dirname "$EXPORT_DIR")\" \"$(basename "$EXPORT_DIR")\""
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
tar -czf "$ARCHIVE_FILE" -C "$(dirname "$EXPORT_DIR")" "$(basename "$EXPORT_DIR")"
|
if [[ "$USE_PIGZ" == "true" ]]; then
|
||||||
|
tar -I "pigz -p $THREADS" -cf "$ARCHIVE_FILE" -C "$(dirname "$EXPORT_DIR")" "$(basename "$EXPORT_DIR")"
|
||||||
|
else
|
||||||
|
tar -czf "$ARCHIVE_FILE" -C "$(dirname "$EXPORT_DIR")" "$(basename "$EXPORT_DIR")"
|
||||||
|
fi
|
||||||
TAR_EXIT_CODE=$?
|
TAR_EXIT_CODE=$?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user