Облако и AWS Средний

Резервное Копирование и Синхронизация AWS S3

Создает резервные копии и синхронизирует локальные файлы с AWS S3. Загружает в S3 buckets с помощью AWS CLI.

Опубликовано: 10.05.2024

Код

#!/bin/bash

# AWS S3 Backup and Sync Script

if [ -z "$1" ] || [ -z "$2" ]; then
    echo "Usage: $0 <local_path> <s3_bucket> [s3_path]"
    echo "Example: $0 /backup/files my-backup-bucket backups/"
    exit 1
fi

LOCAL_PATH="$1"
S3_BUCKET="$2"
S3_PATH="${3:-}"

if [ ! -d "$LOCAL_PATH" ]; then
    echo "Error: Local path not found: $LOCAL_PATH"
    exit 1
fi

if ! command -v aws &> /dev/null; then
    echo "Error: AWS CLI not installed"
    echo "Install: pip install awscli"
    exit 1
fi

echo "======================================"
echo "   AWS S3 BACKUP SYNC"
echo "======================================"
echo "Local Path: $LOCAL_PATH"
echo "S3 Bucket: s3://$S3_BUCKET/$S3_PATH"
echo "Started: $(date)"
echo ""

# Sync files
echo "Syncing files to S3..."
aws s3 sync "$LOCAL_PATH" "s3://$S3_BUCKET/$S3_PATH" --delete

if [ $? -eq 0 ]; then
    echo ""
    echo "✓ Sync completed successfully!"
    echo "Completed: $(date)"
else
    echo ""
    echo "✗ Sync failed!"
    exit 1
fi

Использование

chmod +x s3_backup.sh
./s3_backup.sh /backup/files my-backup-bucket backups/

Теги

aws s3 cloud backup sync