Verimli olarak nasıl yedeklenir (değiştirilmemiş dosyaları kopyalamadan)?


1

Dizüstü bilgisayarımdaki dosyaları düzenli olarak harici bir sabit sürücü kullanarak yedeklerim. Bir Linux sisteminin komut satırını kullanıyorum (Ubuntu). Şimdiye kadar her şeyi bir dizine kopyaladım ve eski yedeklemeyi kaldırdım. Ancak, son zamanlarda bunun çok verimsiz olduğunu fark ettim çünkü dizimin yeni durumu ile eskisi arasında sadece birkaç değişiklik var (farklar). Kabaca, sadece 2 yeni dosya varsa ve sadece 3 eski dosya değiştiyse binlerce dosyayı kopyalamaya ihtiyacım yok.

Bu yüzden, aşağıdakileri nasıl başaracağımı merak ediyorum:

  1. Klasörümün geçerli durumunu ve "eski" durumu (yedeklenenden önceki) karşılaştırın.
  2. Yeni dosyaları kopyalayın (geçerli klasörde olan ancak yedek olmayan).
  3. Güncellenen dosyaları kopyalayın (değişiklik tarihi en son yedeklemeden sonra olan dosyalar).
  4. Bir dosya artık geçerli dizinde değil, yine de yedeklemede ise, yedekleme klasöründen kaldırılmalıdır.

Bu nedenle, özetlemek gerekirse, istenen işlemden sonra, yedekleme klasörünün içeriği, yedeklemek istediğim klasörün içeriğiyle aynı olmalıdır. Bunu nasıl başarabilirim?


Etiketlerinizden biri cevap - sadece değiştirilmiş dosyaları senkronize etmek için rsync kullanın. Artımlı yedeklemeler istiyorsanız, rsnapshot'a bakın.
davidgo

Yani dosyaların yedek kopyasını siliyorsunuz ... ve değiştirilen dosyaların yedek kopyasının üzerine yazıyorsunuz ... Bunun artık bir yedek olmadığını biliyorsunuz, bu sadece daha verimli bir ayna görüntüsü mü? Bir yedeklemenin en büyük noktası (IMO) geri dönüp değiştirilen ve silinen dosyaların eski sürümlerini görebilmektir. Belki başlık değiştirilmeli, ben de artımlı bir yedekleme istediğini düşündüm. (Bahsettiğiniz için teşekkürler @davidgo rsnapshot, ilginç! Acaba tek adımda squashfs ile birleştirilip birleştirilemeyeceğini merak ediyorum)
Xen2050

Squashfs ile rsnapshot'ı birleştirebileceğinizden şüpheliyim, bu pek mantıklı olmaz. rsnapshot her dosyanın sadece 1 kopyasını tutarken birden fazla dosya ağacı oluşturmak için sembolik bağlantılar kullanır, bu yüzden oldukça verimlidir. Daha verimli bir şeye ihtiyacınız varsa, zfs veya btrfs veya bilmediğim başka bir dosya sistemi kullanan temel blok cihazına ihtiyacınız olabilir - ya da belki fusecompress kullanın.
davidgo,

Yanıtlar:


2

Rsync komutu ile.

apt-get install rsync

-A parametresini kullanmak, belirttiğiniz şeyi yapar.

rync -a MyFiles MyBackup

Eğer rsync'in hedefleri üzerinde değişiklik yapmadan ne yapacağını görmek isterseniz, o zaman dry run -n seçeneğini kullanın.

rync -an MyFiles MyBackup

Ayrıca, rsync gibi grafiksel ön uçlar vardır. grsync


1
Kaynaktan silinen dosyalara ne olur? -aonları hedeften siler mi?
Xen2050,

Hayır, bunu yapmak için --delete seçeneğini ekleyebilirsiniz.
jdwolf
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.