Initial commit
This commit is contained in:
Executable
+82
@@ -0,0 +1,82 @@
|
||||
#!/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"
|
||||
}
|
||||
Reference in New Issue
Block a user