Transferin ortasında rsnapshot / rdiff-backup kesintiye uğradığında ne olur?


20

Soru her şeyi söylüyor:

Transferin ortasında rsnapshot veya rdiff-backup kesilirse ne olur?

Rsnapshot’ın sisteminizin dönme biçiminde tam bir görüntüsünü çıkarmaya çalıştığını biliyorum ve rdiff-backup daha önce arkasına kaydedilen dosyalara dayanan farklı bir yedekleme yapıyor.

Öyleyse: Ortada kesilirse ne olur?

Bu bir "eksik anlık görüntü" ile sonuçlanır mı?

Buna bağlı olan diğer fotoğraflar bozulur mu? (Kesinlikle hayır, ama ...?)


1
Bu soruyu iki ayrı soruya ayırsanız daha net olmaz mıydı?
andol

2
@ veol Kesintili bir transferden nasıl kurtarılacağı hakkında bilgi arıyorsanız, iki soru olarak daha iyi olacağını düşünüyorum. Bunun, her bir yardımcı programı kullandıysanız, ne kadar sorun yaşayacağınıza ilişkin bir karşılaştırma talebi olduğunu, "hangisini kullanacağına karar vermeme yardım et" seçeneğinin bir değişkeni olduğunu yorumladım.
ændrük

Andol teşekkürler; ama hayır, bence bu tek bir soru olarak duruyor. Temel olarak, “rsnapshot / rsync transferin ortasında kesintiye uğrarsa ne olur?” Ve bence araçlar belirli bir alanı kapsıyor, bu yüzden IMO iki ayrı soruyu garanti etmiyor. Netleştirme amacıyla 'eksik anlık görüntü' sorununu potansiyel bir sonuç olarak ortaya koydum.
emf

Yanıtlar:


22

Benim anlayışım şu ki ...

rdiff-backup , bir sonraki çalıştırılışında eksik artışı tespit eder. Tamamlanmamış artışı siler, böylece yedekleme konumu kesintiye uğramış yedekleme girişimi hiç başlatılmamış gibi yapılır.

rsnapshot biraz daha karmaşık, çünkü rutini daha kademeli sync_firstve use_lazy_deletesseçeneklerin kullanımına bağlı olarak değişiyor .

  • Kullanır sync_firstve rsnapshot synckesintiye uğrarsanız, rsnapshot syncişleri düzeltmek için tekrar kullanabilirsiniz. Yanlışlıkla rsnapshot <backup level>bu noktada koşarsanız, en son yedekleme noktası eksik kalır ve rotasyonlar boyunca taşınır.
  • Eğer kullanmıyorsanız sync_first, dosyaların eski ve yeni sürümün bir melez tamamlanmamış bir yedekleme noktası ile sadece sıkışmış konum. Her bir yedekleme noktasını manuel olarak ters döndürmediğiniz sürece, eksik yedekleme noktası rotasyonlar boyunca taşınır.
  • Her iki durumda da, çalıştırma , etkinleştirilmediği rsnapshot <backup level>sürece en eski yedekleme noktasının kaybolmasına neden olur use_lazy_deletes.

Bunu unutmayın sync_firstve use_lazy_deletesdaha fazla disk alanı kullanmanın maliyeti de gelsin.


Bir hatırlatma / feragatname: Bu söylemeden geçmeli, ancak başkalarının internetteki tavsiyelerine asla kör güvenmeyin. Kritik bir şey için rdiff-backup veya rsnapshot kullanmayı planlıyorsanız , el kitabındaki her kelimeyi okuyun ve test edin, test edin, her şeyi kendiniz test edin !


1
Bu tür "uygun yöntemler" kültürüne ayak uydurmak için kayda değer bir hatırlatma ve iyi uygulama, linux'un aptal tüketici toprağına dönüşmesini istemiyoruz. Not için teşekkürler.
emf

Yani, doğru anlama: İki şeyden tutarında olacaktır rsnapshot için "rotasyonlar yoluyla taşınan" eksik bir yedekleme sahip: Herhangi üst düzey anlık bir sonraki 2 noktasından geri sevk eğer anlık eksik olacaktır 1. O hala tam olması , ancak, eksik anlık görüntüde kaçırılan önceki bağlanabilir dosyalara geri dönmeyecektir. Bu doğru mu?
emf

1

Bu sadece bana oldu. harici diskim rsnapshot'ın artan yedeklemesiyle yarı yolda tamamen doldu:

rsync: write failed on "<path>": No space left on device (28) 

Şimdi bundan öğrendiğim birkaç şeyi paylaşmak istiyorum. yani, böyle bir durumun beni geri ısırması için büyük oranda şansı onarmak ve sınırlamak;

Bir Rsnapshot'ın kesilen yedeğini devam ettir

Bunu güvenli bir şekilde geri almanın iki yolunu biliyorum.

el ile

  1. Son dizini silin (ör. Daily.0)
  2. Ardışık dizinleri yeniden adlandırın (daily.1 -> daily.0, ...); olası komut dosyası 1
  3. Yedeklemeyi her zamanki gibi çalıştırın (tekrar).

Otomatik olarak

rsnapshot (sınırlı "hariç hiçbir duraklama / durdurma ve devam ettirme yetenekleri geri alma planı nedeniyle atlanan " 2 biz bu özellikleri işlemek için bir sarmalayıcı kullanmak zorunda).

rsnapshot-once3 Philipp C. tarafından Heckel PHP'de rsnapshot için bir sarıcı olduğunu:

  • rsnapshot’nizin mesajını değiştirmeden çalışır
  • Günlük, haftalık ve aylık işlerin ilgili zaman diliminde cron (dizüstü bilgisayarlar için iyi) aracılığıyla yalnızca bir kez çalıştırılmasını sağlayın
  • başarısız yedeklemenin geri alınması (son yedeklemenin tamamlanıp tamamlanmadığını kontrol eder; son dizin silinmemişse ve ardışık dizinler yeniden adlandırılır, örneğin günlük1. -> günlük.0, ...)

Bir yıldan beri mutlu bir kullanıcıyım: php.ini'yi openbase_diryedekleme ihtiyacım ve ihanetim için yaptım, şanslı gün ^ _ ^ Önceki ham rsnapshot tabanlı çözümümden daha yumuşak ve daha güvenli.

Not: slm beni yinelenen sorudan buraya bağladı: Rsnapshot hedefi tam - nasıl güvenli bir şekilde yeniden çalıştırılır?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.