Celil Uyanikoglu

Linux Yedekleme Stratejileri: rsync, tar ve Ötesi

Celil Uyanikoglu Celil Uyanikoglu · 27 Nis 2026 · 6 dk okuma

Veri kaybı her sistemin karşılaşabileceği bir risktir. Donanım arızası, kullanıcı hatası, siber saldırı veya doğal afet - sebep ne olursa olsun, düzenli yedekleme hayat kurtarır. Linux'ta yedekleme için güçlü araçlar mevcuttur. Bu rehberde rsync, tar ve diğer yedekleme yöntemlerini ele alacağız.

Yedekleme Temelleri

3-2-1 Kuralı

Endüstri standardı yedekleme stratejisi:

3: Verinin 3 kopyası olsun 2: 2 farklı ortamda saklayın 1: 1 kopya uzak konumda bulunsun

Örnek: Ana sunucu + yerel harici disk + bulut depolama.

Yedekleme Türleri

Tam yedekleme (Full): Her şeyin kopyası. En güvenli ama en yavaş ve en çok yer kaplar.

Artımlı yedekleme (Incremental): Son yedeklemeden beri değişenler. Hızlı ve az yer kaplar. Geri yükleme için tüm artımlı yedekler gerekir.

Farksal yedekleme (Differential): Son tam yedeklemeden beri değişenler. Artımlıdan biraz büyük ama geri yükleme daha kolay.

tar ile Yedekleme

tar (tape archive), dosyaları tek bir arşiv dosyasında birleştiren geleneksel Unix aracıdır. Basit ve evrensel uyumluluk sağlar.

Temel Kullanım

Arşiv oluşturma:

tar -cvf backup.tar /home/kullanici

-c: Create (oluştur) -v: Verbose (detaylı çıktı) -f: Dosya adı

Sıkıştırmalı arşiv (gzip):

tar -cvzf backup.tar.gz /home/kullanici

-z: gzip sıkıştırma

Daha güçlü sıkıştırma (bzip2):

tar -cvjf backup.tar.bz2 /home/kullanici

-j: bzip2 sıkıştırma (yavaş ama daha küçük)

xz sıkıştırma (en güçlü):

tar -cvJf backup.tar.xz /home/kullanici

-J: xz sıkıştırma

Arşivden Çıkarma

tar -xvf backup.tar tar -xvzf backup.tar.gz -C /hedef/dizin

-x: Extract (çıkar) -C: Hedef dizin

Arşiv İçeriğini Listeleme

tar -tvf backup.tar.gz

Sistem Yedeği Örneği

tar -cvpzf /backup/sistem_$(date +%Y%m%d).tar.gz \ --exclude=/proc \ --exclude=/sys \ --exclude=/dev \ --exclude=/run \ --exclude=/tmp \ --exclude=/mnt \ --exclude=/media \ --exclude=/backup \ /

-p: İzinleri koru --exclude: Hariç tutulacak dizinler

rsync ile Yedekleme

rsync, dosya senkronizasyonu için güçlü bir araçtır. Sadece değişen dosyaları aktarır, bu sayede hızlı ve verimlidir. Ağ üzerinden yedekleme için idealdir.

Temel Kullanım

Yerel senkronizasyon:

rsync -av /kaynak/ /hedef/

-a: Archive modu (izinler, sahiplik, sembolik linkler korunur) -v: Verbose

Dikkat: Kaynak sonundaki / önemlidir. /kaynak/ → klasör içeriğini aktarır /kaynak → klasörün kendisini aktarır

Gelişmiş Seçenekler

rsync -avz --progress --delete /kaynak/ /hedef/

-z: Sıkıştırarak aktar (ağ trafiğini azaltır) --progress: İlerleme göster --delete: Kaynakta olmayan dosyaları hedeften sil

Uzak Sunucuya Yedekleme

SSH üzerinden:

rsync -avz -e ssh /home/kullanici/ kullanici@sunucu:/backup/

SSH portu farklıysa:

rsync -avz -e "ssh -p 2222" /kaynak/ kullanici@sunucu:/hedef/

Uzak Sunucudan Çekme

rsync -avz kullanici@sunucu:/backup/ /yerel/

Kuru Çalıştırma (Dry Run)

Ne yapacağını görmek için:

rsync -avzn /kaynak/ /hedef/

-n veya --dry-run: Değişiklik yapmadan simüle et

Exclude Patterns

rsync -av --exclude='*.log' --exclude='cache/' /kaynak/ /hedef/

Exclude dosyasından:

rsync -av --exclude-from='exclude.txt' /kaynak/ /hedef/

Bant Genişliği Sınırlama

rsync -avz --bwlimit=1000 /kaynak/ hedef/

--bwlimit: KB/s cinsinden limit

rsync vs tar

rsync avantajları:

  • Artımlı aktarım (sadece değişenler)
  • Ağ yedeklemesi için optimize
  • Kesilen aktarıma devam edebilir

tar avantajları:

  • Tek dosyada arşiv
  • Evrensel uyumluluk
  • Uzun vadeli saklama için daha uygun

Önerilen yaklaşım: Günlük yedekler için rsync, aylık arşivler için tar.

Otomatik Yedekleme

Cron ile Zamanlama

Günlük yedekleme scripti oluşturun:

#!/bin/bash TARIH=$(date +%Y%m%d) KAYNAK="/home" HEDEF="/backup"

rsync -avz --delete $KAYNAK/ $HEDEF/gunluk/

# Haftalık tam yedek (Pazar günü) if [ $(date +%u) -eq 7 ]; then tar -cvzf $HEDEF/haftalik/backup_$TARIH.tar.gz $KAYNAK fi

Cron'a ekleyin:

crontab -e

Her gece 02:00'de çalıştır:

0 2 * /home/scripts/yedekle.sh >> /var/log/backup.log 2>&1

Yedek Rotasyonu

Eski yedekleri temizleme:

# 30 günden eski tar dosyalarını sil find /backup/haftalik -name "*.tar.gz" -mtime +30 -delete

Uzak Yedekleme Çözümleri

SSH Key Tabanlı Erişim

Parola sormadan yedekleme için SSH anahtarı kullanın:

ssh-keygen -t ed25519 ssh-copy-id kullanici@backup-sunucu

Artık rsync parola sormadan çalışır.

rclone ile Bulut Yedekleme

rclone, bulut depolama servisleriyle çalışır: Google Drive, S3, Backblaze, Dropbox ve onlarca servis desteklenir.

Kurulum:

sudo apt install rclone rclone config

S3'e yedekleme:

rclone sync /backup remote:bucket-name/backup/

BorgBackup

Deduplikasyon ve şifreleme destekli modern yedekleme aracı.

Kurulum:

sudo apt install borgbackup

Repo oluştur:

borg init --encryption=repokey /backup/borg-repo

Yedek al:

borg create /backup/borg-repo::backup-{now} /home

Eski yedekleri temizle:

borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=6 /backup/borg-repo

restic

BorgBackup alternatifi, bulut desteği dahili.

Kurulum:

sudo apt install restic

S3'e yedekleme:

export AWS_ACCESS_KEY_ID=xxx export AWS_SECRET_ACCESS_KEY=xxx restic -r s3:s3.amazonaws.com/bucket init restic -r s3:s3.amazonaws.com/bucket backup /home

Timeshift

Masaüstü Linux için sistem geri yükleme aracı. Windows System Restore benzeri.

sudo apt install timeshift

GUI ile anlık görüntü alır, sistem sorunlarında geri dönüş sağlar.

Yedek Doğrulama

Test Geri Yükleme

Yedeklerin çalıştığından emin olmak için düzenli test yapın:

# tar arşivi test tar -tvf backup.tar.gz

# rsync dry-run rsync -avzn /backup/ /test-restore/

Kontrol Toplamı

Veri bütünlüğü için:

sha256sum backup.tar.gz > backup.tar.gz.sha256 sha256sum -c backup.tar.gz.sha256

Veritabanı Yedekleme

MySQL/MariaDB

mysqldump -u root -p --all-databases > db_backup.sql

Sıkıştırılmış:

mysqldump -u root -p --all-databases | gzip > db_backup.sql.gz

PostgreSQL

pg_dumpall -U postgres > pg_backup.sql

Belirli veritabanı:

pg_dump -U postgres dbname > dbname.sql

Docker Volume Yedekleme

docker run --rm -v volume_name:/data -v /backup:/backup alpine \ tar cvf /backup/volume_backup.tar /data

Pratik Yedekleme Planı

Günlük: rsync ile artımlı yedek (yerel + uzak) Haftalık: tar ile tam yedek arşivi Aylık: Uzak sunucu veya buluta tam yedek Yıllık: Kalıcı arşiv (harici disk, soğuk depolama)

Sonuç

Yedekleme yapılmayan veri, kaybedilmeye hazır veridir. rsync günlük senkronizasyon için, tar arşivleme için idealdir. Modern araçlar (BorgBackup, restic) deduplikasyon ve şifreleme ile disk alanı ve güvenlik sağlar.

3-2-1 kuralını uygulayın. Yedekleri düzenli test edin. Otomasyonu cron ile sağlayın. Test edilmemiş yedek, yedek sayılmaz.

Felaket anında değil, bugün yedekleme planınızı yapın.

0 Yorum

Yorum Yaz