tr

VPS Yedekleme Stratejisi: Otomatik Yedekleme Rehberi

Yedekleme, VPS yönetiminin en kritik ancak en sık ihmal edilen unsurudur. Veri kaybı yaşamak; donanım arızası, yanlışlıkla silme veya siber saldırıdan kaynaklanabilir. Bu rehber, 3-2-1 yedekleme kuralına dayanan kapsamlı ve otomatik bir yedekleme stratejisi oluşturmanızı sağlar.

Need this done for your project?

We implement, you ship. Async, documented, done in days.

Start a Brief

3-2-1 Yedekleme Kuralı ve Strateji Planlaması

3-2-1 yedekleme kuralı profesyonel veri koruma standartlarının temelidir: - **3**: En az 3 kopya bulundurun (1 orijinal + 2 yedek) - **2**: 2 farklı ortam/depolama türü kullanın (yerel disk + uzak sunucu) - **1**: 1 kopya farklı fiziksel konumda olsun (offsite backup) Offshore VPS için pratik uygulama: - Kopya 1: VPS'in yerel /backup dizini - Kopya 2: Uzak offshore depolama sunucusu - Kopya 3: Şifreli bulut depolama (Backblaze B2, Wasabi) Yedekleme sıklığı önerileri: - **Veritabanları**: Günlük (mümkünse saatlik) - **Web dosyaları**: Günlük - **Sistem yapılandırması**: Haftalık - **Tam sistem yedeği**: Haftalık Yedekleme dizini oluşturun: sudo mkdir -p /backup/{daily,weekly,monthly} sudo chmod 700 /backup

rsync ile Otomatik Dosya Yedekleme

rsync, değişen dosyaları verimli şekilde senkronize eden güçlü bir yedekleme aracıdır. Yerel yedekleme scripti oluşturun: sudo vim /usr/local/bin/backup-daily.sh Script içeriği: #!/bin/bash BACKUP_DIR="/backup/daily" DATE=$(date +%Y%m%d) RETENTION_DAYS=7 # Web dosyalarını yedekle rsync -avz --delete /var/www/ $BACKUP_DIR/www-$DATE/ # Nginx yapılandırmasını yedekle rsync -avz /etc/nginx/ $BACKUP_DIR/nginx-$DATE/ # SSH yapılandırmasını yedekle rsync -avz /etc/ssh/ $BACKUP_DIR/ssh-$DATE/ # Eski yedekleri temizle find $BACKUP_DIR -maxdepth 1 -type d -mtime +$RETENTION_DAYS -exec rm -rf {} ; echo "Yedekleme tamamlandi: $(date)" Script'i çalıştırılabilir yapın: sudo chmod +x /usr/local/bin/backup-daily.sh Uzak sunucuya rsync yedekleme: rsync -avz -e "ssh -i /root/.ssh/backup_key -p 2222" /backup/daily/ backup_user@UZAK_SUNUCU_IP:/remote-backup/ Bu komutu script içine ekleyerek uzak yedeklemeyi otomatikleştirin.

Veritabanı Yedekleme Otomasyonu

Veritabanı yedeklemeleri, dosya yedeklemelerinden bağımsız olarak yönetilmelidir. MySQL/MariaDB yedekleme scripti: sudo vim /usr/local/bin/backup-db.sh Script içeriği: #!/bin/bash DB_USER="root" DB_PASS="VERITABANI_SIFRESI" BACKUP_DIR="/backup/daily/databases" DATE=$(date +%Y%m%d_%H%M%S) mkdir -p $BACKUP_DIR # Tüm veritabanlarını yedekle mysqldump -u $DB_USER -p$DB_PASS --all-databases --single-transaction --quick --lock-tables=false | gzip > $BACKUP_DIR/all-databases-$DATE.sql.gz # Belirli bir veritabanını yedekle mysqldump -u $DB_USER -p$DB_PASS wordpress_db --single-transaction | gzip > $BACKUP_DIR/wordpress-$DATE.sql.gz # 30 günden eski yedekleri sil find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete echo "Veritabani yedeklemesi tamamlandi: $DATE" PostgreSQL yedekleme: sudo vim /usr/local/bin/backup-postgres.sh #!/bin/bash BACKUP_DIR="/backup/daily/postgres" DATE=$(date +%Y%m%d_%H%M%S) mkdir -p $BACKUP_DIR sudo -u postgres pg_dumpall | gzip > $BACKUP_DIR/postgres-all-$DATE.sql.gz find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete

Cron ile Yedekleme Otomasyonu ve İzleme

Yedekleme scriptlerini cron ile otomatikleştirin: sudo crontab -e Cron görevleri ekleyin: # Her gece 02:00'da dosya yedeklemesi 0 2 * * * /usr/local/bin/backup-daily.sh >> /var/log/backup.log 2>&1 # Her gece 02:30'da veritabanı yedeklemesi 30 2 * * * /usr/local/bin/backup-db.sh >> /var/log/backup-db.log 2>&1 # Her Pazar 03:00'da haftalık yedek 0 3 * * 0 rsync -avz /backup/daily/ /backup/weekly/ # Yedekleme loglarını izle 0 8 * * * tail -20 /var/log/backup.log | mail -s "VPS Yedekleme Raporu" [email protected] Yedek bütünlüğünü doğrulama scripti: sudo vim /usr/local/bin/verify-backup.sh #!/bin/bash BACKUP_DIR="/backup/daily" LAST_BACKUP=$(ls -t $BACKUP_DIR | head -1) if [ -z "$LAST_BACKUP" ]; then echo "HATA: Yedek bulunamadi!" exit 1 fi BACKUP_AGE=$(find $BACKUP_DIR/$LAST_BACKUP -maxdepth 0 -mtime +1) if [ -n "$BACKUP_AGE" ]; then echo "UYARI: Son yedek 24 saatten eski!" fi echo "Yedekleme durumu: OK - $LAST_BACKUP" Anubiz Host offshore VPS planlarında yedekleme politikası üzerinde tam özerklik sahibisiniz; veri saklama süresi ve konumu hakkında hiçbir kısıtlama yoktur.

Why Anubiz Host

100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included

Ready to get started?

Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.

Anubiz Chat AI

Online