Sunucular arasında veri yedekleme Talimat | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

Sunucular arasında veri yedekleme

Bu kılavuz, rsync kullanarak Linux sunucuları arasında verilerin nasıl kopyalanacağını ve yedekleneceğini ve ayrıca dd kullanarak disklerin düşük seviyeli nasıl klonlanacağını açıklar.

Başlamadan önce

Bu kılavuzdaki komutlar kaynak sunucuda, yani verileri kopyaladığınız sunucuda çalıştırılır. Hedef sunucuya SSH üzerinden erişilebilmelidir ve komutta belirtilen kullanıcının kaynak yoluna okuma ve hedef yoluna yazma izinleri olmalıdır.

Yedekleme işlemine başlamadan önce hedef sunucuya SSH erişimini doğrulamak için:

ssh user@destination_host

user yerine uzak sunucudaki kullanıcı adını, destination_host yerine ise hedef sunucunun IP adresini veya ana bilgisayar adını yazın.

Info

Otomatik veya zamanlanmış yedeklemeler için parola kullanmak yerine SSH anahtar tabanlı kimlik doğrulaması yapılandırın.

Bir dizini uzak sunucuya kopyalama

Kaynak yolundaki sondaki eğik çizginin rsync'in davranışını etkilediğini unutmayın: /source/ dizinin içeriğini kopyalarken, /source dizinin kendisini kopyalar.

Yanlışlıkla veri kaybını önlemek için --delete içeren komutları çalıştırmadan önce her zaman --dry-run kullanın. Herhangi bir değişiklik yapmadan neyin aktarılacağını önizlemek için:

rsync -a --delete --dry-run -e ssh /path/to/source/ user@destination_host:/path/to/backup/

Çıktıyı kontrol ettikten sonra aynı komutu --dry-run olmadan çalıştırın. Kesintiye uğrayan bir aktarımı devam ettirmek ve ilerlemeyi görüntülemek için -P ekleyin:

rsync -a --delete -e ssh -P /path/to/source/ user@destination_host:/path/to/backup/

-a seçeneği izinleri, zaman damgalarını ve sembolik bağlantıları korur. --delete seçeneği, kaynakta bulunmayan dosyaları hedeften kaldırarak hedefin kaynağın tam bir aynası olmasını sağlar. Ayrıntılı çıktı için -v ekleyin.

Warning

--delete seçeneği, kaynakta bulunmayan dosyaları hedef konumdan siler. Hedefte bağımsız olarak korunması gereken dosyalar varsa bu seçeneği kullanmayın.

Sistem dosyalarının çoğunu kopyalama

Sanal ve geçici dizinleri hariç tutarak dosya sisteminin büyük bölümünü kopyalamak için:

rsync -aAXv --delete --one-file-system --numeric-ids \ --exclude={/dev/,/proc/,/sys/,/tmp/,/run/,/mnt/,/media/,/lost+found,/swapfi le} \ / user@destination_host:/path/to/backup/

Kullanılan seçenekler: -a izinleri, zaman damgalarını, sembolik bağlantıları korur ve özyinelemeli kopyalama yapar; -A ACL'leri korur; -X genişletilmiş öznitelikleri korur; -v ayrıntılı çıktı gösterir. Sabit bağlantılar için kullanılan -H seçeneği kasıtlı olarak kullanılmamıştır: sistem sabit bağlantılarının uzak bir yedekte çoğaltılması gerekmez ve bunların korunması aktarım süresini ve karmaşıklığını artırır. --one-file-system seçeneği rsync'in diğer bağlı dosya sistemlerine geçmesini önler. --numeric-ids seçeneği UID ve GID değerlerini kullanıcı adlarına eşlemeden korur; bu, kaynak ve hedef sunucuların farklı kullanıcı yapılandırmalarına sahip olması durumunda önemlidir.

Hariç tutulan yolların çoğunda, dizinin kendisini koruyup içeriğini hariç tutmak için sondaki eğik çizgi kullanılır. /lost+found sonunda eğik çizgi içermez, çünkü yalnızca içeriğinin değil, dizinin tamamının hariç tutulması gerekir. Aynı kural kaynak yolu için de geçerlidir: /source/ dizinin içeriğini kopyalarken, /source dizinin kendisini kopyalar.

Warning

Bu yöntem önyüklenebilir bir sistem görüntüsü oluşturmaz ve tam sistem yedeğinin yerine kullanılmamalıdır. Çalışan sistemlerin tutarlı yedeklerini almak için komutu çalıştırmadan önce kritik hizmetleri durdurmayı veya LVM snapshot'ları gibi dosya sistemi snapshot'larını kullanmayı değerlendirin.

rsync ile tam dizin klonlama

Sabit bağlantıları, ACL'leri ve genişletilmiş öznitelikleri koruyarak bir dizin ağacının tam klonunu oluşturmak için:

rsync -aAHXv /source/dir/ user@destination_host:/destination/dir/

Burada kullanılan seçenekler: -a izinleri, zaman damgalarını ve sembolik bağlantıları korur ve özyinelemeli kopyalama yapar; -A ACL'leri korur; -H tam bir dizin klonu için önemli olan sabit bağlantıları korur; -X genişletilmiş öznitelikleri korur; -v ayrıntılı çıktı gösterir.

dd ile disk klonlama

Bir diskin tamamını aynı sunucudaki başka bir diske klonlamak için:

dd if=/dev/sdX of=/dev/sdY bs=1M conv=noerror,sync status=progress

sdX yerine kaynak diski, sdY yerine hedef diski yazın. conv=noerror,sync seçenekleri, okuma hatalarından sonra hasarlı blokları sıfırlarla doldurarak kopyalamanın devam etmesini sağlar. Veri bütünlüğü kritikse, bu seçenekleri kullanmayın; böylece dd ilk hatada durur ve hatalı blokları sessizce sıfırlarla değiştirmez.

Bir diski SSH üzerinden uzak bir sunucuya klonlamak için:

dd if=/dev/sdX bs=1M status=progress | ssh user@destination_host 'dd of=/dev/sdY bs=1M'

Hedef olarak blok aygıtı yerine bir dosya yolu da kullanılabilir.

Warning

dd, onay istemeden doğrudan hedef aygıta veya hedef dosyaya yazar. Komutu çalıştırmadan önce kaynak ve hedefi dikkatlice kontrol edin. Çalışan sistemlerde mümkünse kaynak diskin tüm bölümlerini ayırın veya salt okunur olarak yeniden bağlayın. Bağlı dosya sistemlerinin tutarlı yedeklerini oluşturmak için LVM snapshot'larını kullanın veya sistemi bir kurtarma ortamından başlatın.

Yedeği doğrulama

Aktarım tamamlandıktan sonra hedef sunucuya bağlanın ve yedeğin boyutunu ve temel yapısını kontrol edin:

ssh user@destination_host du -sh /path/to/backup/ ls /path/to/backup/

Kapsamlı bir bütünlük kontrolü için rsync'i --checksum ve --dry-run seçenekleriyle çalıştırın. Bu, zaman damgaları yerine dosya içeriklerini karşılaştırır ve tüm farklılıkları bildirir:

rsync -av --checksum --dry-run /path/to/source/ user@destination_host:/path/to/backup/

Bu işlemin, büyük veri kümelerinde normal bir rsync çalıştırmasına kıyasla önemli ölçüde daha uzun sürebileceğini unutmayın.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA