install/secrets-decrypt.sh
2024-08-05 04:21:06 +05:00

34 lines
1.1 KiB
Bash

#!/bin/bash
# Проверка наличия аргументов
if [ "$#" -ne 3 ]; then
echo "Usage: $0 PASSWORD ARCHIVE_FILE DESTINATION_DIR"
exit 1
fi
# Присваиваем аргументы переменным
PASSWORD=$1
ARCHIVE_FILE=$2
DESTINATION_DIR=$3
# Проверка наличия существующего файла архива
if [ ! -f "$ARCHIVE_FILE" ]; then
echo "Error: Archive file '$ARCHIVE_FILE' not found!"
exit 2
fi
# Создание директории назначения, если она не существует
if [ ! -d "$DESTINATION_DIR" ]; then
mkdir -p "$DESTINATION_DIR"
fi
# Расшифровываем и извлекаем архив
openssl enc -aes-256-cbc -d -in "$ARCHIVE_FILE" -out - -pass pass:"$PASSWORD" -pbkdf2 -iter 100000 | tar -xzf - -C "$DESTINATION_DIR"
# Проверка успешности выполнения команд
if [ $? -eq 0 ]; then
echo "Archive successfully decrypted and extracted to '$DESTINATION_DIR'"
else
echo "Error during decryption or extraction"
exit 3
fi