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