İşte benim durumum. Aynı veri kümelerini içermesi gereken iki soğuk depo arşiv birimim var. Bu birimler, nadiren erişilen yedekleri içerir. Sonunda, bitrotun bunlardan birine veya ikisine ulaşması ve içinde yer alan verileri ustaca bozması konusunda endişeliyim. diff -r
İki birimi bulabildiğimi ve ikisi arasında değişen veya kaybolan dosyaları bulabileceğimi biliyorum , ancak hangi birimin "iyi" kopyasına sahip olduğuna dair hiçbir yardımcı gösterge almıyorum. Bunlar USB diskler ve onları ZFS gibi bir şeye dönüştürmek zor görünüyor.
İstediğim şey, dizin ağacını özyinelemeli olarak yürüyecek ve dosya içeriğinin bir karması ile birlikte yolu ve dosya adını içeren bir bildirim dosyası yazacak bir araçtır. Verileri her birime yazdıktan hemen sonra bu aracı çalıştırırım ve ortaya çıkan manifest dosyasını ılık depoda, belki de bir çeşit revizyon kontrolü altında saklardım.
Bu dosyadan tam olarak çalışan bir şeyi çalıştırabilmek diff -r
isterdim - bana dosyalar eklenmiş, kaldırılmış veya içerikleri değiştirilmiş mi diye söylerdi. Yalnızca bir birimi diğerine karşılaştırmak yerine, bir birimi bilinen iyi bildirim dosyasıyla karşılaştırır. Bu yöntemi kullanarak, gelecekte ay / yıl diskten okuduğum verilerin orijinal olarak koyduğum verilerle aynı olup olmadığını belirleyebilmeliyim.
Böyle bir şeyin zaten var olduğunu düşünmek zorunda kalacağım. Aşağıdakileri kullanarak bir bildirim dosyasına yaklaşan bir şey bulabilirim:
find /mnt/my-volume -type f -exec md5sum {} + > manifest.txt
ancak şimdiye kadar bu dosyayı ayrıştırmak ve her hasha özyinelemeli kontrol etmek için iyi bir yol bulamadım. Ayrıca, daha az önemlisi, bu boş bir dizinin görünüp görünmediğini söylemez. (Neden önemli olduğunu düşünemiyorum, ama gerçekleştiğini bilmek güzel olurdu.)
Bununla doğru yolda mıyım, yoksa bu tür bir şeyi yapabilecek daha uygun bir araç var mı?