ابر و AWS متوسط

پشتیبان‌گیری و همگام‌سازی AWS S3

اسکریپتی که فایل‌های محلی را به AWS S3 پشتیبان‌گیری و همگام‌سازی می‌کند. با استفاده از AWS CLI به سطل‌های S3 آپلود می‌کند.

منتشر شده: 2024/05/10

کد

#!/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