AWS S3 Yedekleme ve Senkronizasyon

Yerel dosyaları AWS S3'e yedekleyen ve senkronize eden script. AWS CLI kullanarak S3 bucket'lara yükleme yapar.

Yayınlanma: 10.05.2024

Detaylı Bilgi

Bu script, yerel dosyaları AWS S3'e yedekler ve senkronize eder. AWS CLI kullanarak S3 bucket'lara güvenli yükleme yapar.

Script Ne İşe Yarar?

Bu script, S3 yedekleme işlemini yapar:

  • Yerel dosyaları S3'e senkronize eder
  • Değişen dosyaları günceller
  • Silinen dosyaları S3'ten de siler (--delete)
  • Güvenli yükleme yapar

Neden Kullanmalısınız?

AWS S3 yedekleme, cloud depolama için idealdir:

  • Cloud Depolama: Güvenli cloud yedekleme
  • Otomasyon: Otomatik senkronizasyon
  • Ölçeklenebilirlik: Sınırsız depolama
  • Güvenlik: AWS güvenlik özellikleri

Nasıl Kullanılır?

Adım Adım Kullanım Kılavuzu

1. AWS CLI Kurulumu

pip install awscli
aws configure

2. Script Dosyasını Oluşturun

nano s3_backup.sh

3. Çalıştırılabilir Yapın

chmod +x s3_backup.sh

4. Scripti Çalıştırın

./s3_backup.sh /backup/files my-backup-bucket backups/

Gereksinimler

Gereksinimler

  • AWS CLI: AWS komut satırı aracı
  • AWS Credentials: AWS erişim anahtarları
  • S3 Bucket: AWS S3 bucket oluşturulmuş olmalı

Kullanım Senaryoları

Kullanım Senaryoları

1. Cloud Yedekleme

Kritik verileri AWS S3'e yedekleyin.

2. Otomatik Senkronizasyon

Dosyaları düzenli olarak S3'e senkronize edin.

Örnekler

Kullanım Örnekleri

Örnek 1: Dosya Yedekleme

./s3_backup.sh /home/user/documents my-bucket documents/

Kod

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

Kullanım

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

Sorun Giderme

Sorun Giderme

Problem: "aws: command not found"

Çözüm: AWS CLI kurun:

pip install awscli
# veya
sudo apt-get install awscli

Etiketler

aws s3 cloud backup sync