utils/secrets-export.sh

41 lines
1.2 KiB
Bash
Raw Normal View History

2024-07-27 04:15:43 +05:00
#!/bin/bash
# Переменные
SOURCE_DIR="/data/secrets"
ARCHIVE_NAME="secrets.tar.gz.enc"
REMOTE_USER="remote_user"
REMOTE_HOST="remote_host"
REMOTE_DIR="/secrets"
PASSWORD_FILE="$SOURCE_DIR/secrets.env"
# Путь к зашифрованному архиву
ARCHIVE_PATH="$SOURCE_DIR/$ARCHIVE_NAME"
# Чтение пароля из файла
if [ -f "$PASSWORD_FILE" ]; then
PASSWORD=$(cat "$PASSWORD_FILE")
else
echo "Файл с паролем не найден: $PASSWORD_FILE"
exit 1
fi
# Создание tar.gz архива и шифрование его
tar -czf - "$SOURCE_DIR" | openssl enc -aes-256-cbc -e -pass pass:"$PASSWORD" -out "$ARCHIVE_PATH"
if [ $? -ne 0 ]; then
echo "Не удалось создать и зашифровать архив"
exit 1
fi
# Отправка архива на удаленный сервер
rsync -avz "$ARCHIVE_PATH" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR"
if [ $? -ne 0 ]; then
echo "Не удалось отправить архив на удаленный сервер"
exit 1
fi
# Удаление архива после успешной отправки (опционально)
rm -f "$ARCHIVE_PATH"
echo "Успешно завершено!"
exit 0