Files
ptp/migration-s3/config.sh
T
2025-08-02 11:45:16 +02:00

82 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
# Конфигурация для миграции на S3
# Отредактируйте эти переменные под ваши настройки
# AWS S3 настройки
S3_BUCKET="your-ptp-bucket" # Замените на имя вашего S3 bucket
S3_REGION="us-east-1" # Замените на ваш регион
CDN_URL="https://d1234567890.cloudfront.net" # Замените на URL вашего CloudFront CDN (опционально)
# Если CDN не настроен, используйте прямой S3 URL
# S3_BASE_URL="https://${S3_BUCKET}.s3.${S3_REGION}.amazonaws.com"
S3_BASE_URL="${CDN_URL}"
# Локальные пути
LOCAL_IMAGES_DIR="./static/images"
LOCAL_PUBLIC_DIR="./public/images"
CONTENT_DIR="./content"
CONFIG_FILE="./config.toml"
CONFIG_PROD_FILE="./config-prod.toml"
# Временные файлы
TEMP_DIR="./migration-temp"
BACKUP_DIR="./migration-backup"
# Лог файлы
LOG_FILE="./migration-s3/migration.log"
ERROR_LOG="./migration-s3/errors.log"
# Функции для логирования
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}
error_log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ERROR: $1" | tee -a "$ERROR_LOG"
}
# Проверка зависимостей
check_dependencies() {
log "Проверка зависимостей..."
if ! command -v aws &> /dev/null; then
error_log "AWS CLI не установлен. Установите: https://aws.amazon.com/cli/"
exit 1
fi
if ! command -v jq &> /dev/null; then
error_log "jq не установлен. Установите: brew install jq"
exit 1
fi
# Проверка AWS credentials
if ! aws sts get-caller-identity &> /dev/null; then
error_log "AWS credentials не настроены. Запустите: aws configure"
exit 1
fi
log "Все зависимости установлены"
}
# Создание директорий
create_dirs() {
mkdir -p "$TEMP_DIR"
mkdir -p "$BACKUP_DIR"
mkdir -p "$(dirname "$LOG_FILE")"
mkdir -p "$(dirname "$ERROR_LOG")"
}
# Инициализация
init_migration() {
log "Инициализация миграции..."
create_dirs
check_dependencies
# Создание backup
log "Создание backup..."
cp -r "$CONTENT_DIR" "$BACKUP_DIR/content_backup_$(date +%Y%m%d_%H%M%S)"
cp "$CONFIG_FILE" "$BACKUP_DIR/config_backup_$(date +%Y%m%d_%H%M%S).toml"
log "Backup создан в $BACKUP_DIR"
}