Yedek kopyaların sürümlü bir depoda şifrelenmiş biçimde saklanmasını sağlayan restic 0.15 yedekleme sisteminin sürümü yayınlandı. Sistem başlangıçta yedek kopyaların güvenilmez ortamlarda saklanmasını ve yedek kopyanın yanlış ellere geçmesi durumunda sistemin tehlikeye atılmamasını sağlayacak şekilde tasarlandı. Yedekleme oluştururken dosyaları ve dizinleri dahil etmek ve hariç tutmak için esnek kurallar tanımlamak mümkündür (kuralların formatı rsync veya gitignore'a benzer). Linux, macOS, Windows, FreeBSD ve OpenBSD üzerinde çalışmayı destekler. Proje kodu Go'da yazılmıştır ve BSD lisansı altında dağıtılmaktadır.
Yedekler yerel bir dosya sisteminde veya harici bir diskte saklanabilir. sunucu Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage ve Google Cloud Storage bulutlarında ve rclone arka uçlarına sahip herhangi bir depolama hizmetinde SFTP/SSH veya HTTP REST üzerinden erişilebilir. Depolama için özel bir REST sunucusu da kullanılabilir; bu sunucu diğer arka uçlardan daha yüksek performans sağlar ve yalnızca ekleme modunda çalışarak orijinal dosya tehlikeye girerse yedeklerin silinmesini veya değiştirilmesini önler. sunucu ve şifreleme anahtarlarına erişim.
Anlık görüntüler desteklenir ve tüm dosyalar ve alt dizinlerle birlikte belirli bir dizinin belirli bir andaki durumunu yansıtır. Her yeni yedekleme oluşturulduğunda, o andaki durumu geri yüklemenize olanak tanıyan ilişkili bir anlık görüntü oluşturulur. Anlık görüntüleri farklı depolar arasında kopyalamak mümkündür. Trafikten tasarruf etmek için yedekleme işlemi sırasında yalnızca değiştirilen veriler kopyalanır. Deponun içeriğini görsel olarak değerlendirmek ve kurtarmayı kolaylaştırmak için, yedek kopyaya sahip bir anlık görüntü sanal bölüm biçiminde monte edilebilir (montaj FUSE kullanılarak yapılır). Değişiklikleri analiz etmeye ve dosyaları seçerek çıkarmaya yönelik komutlar da sağlanmaktadır.
Sistem dosyaların tamamını işlemez, ancak Rabin imzası kullanılarak seçilen değişken boyutlu blokları yönetir. Bilgi, dosya adlarıyla değil içerikle ilişkili olarak depolanır (veriyle ilişkili adlar ve nesneler, blok meta veri düzeyinde tanımlanır). İçeriğin SHA-256 hash'i baz alınarak tekilleştirme yapılarak gereksiz veri kopyalamanın önüne geçilir. Harici sunucularda bilgiler şifrelenmiş biçimde saklanır (sağlama toplamları için SHA-256, şifreleme için AES-256-CTR ve bütünlüğü garanti etmek için Poly1305-AES tabanlı kimlik doğrulama kodları kullanılır). Dosyaların bütünlüğünün bozulmadığını doğrulamak için sağlama toplamlarını ve kimlik doğrulama kodlarını kullanarak yedek kopyayı doğrulamak mümkündür.
Yeni sürümde:
- Başlangıçta yedekleme amaçlı olmayan dosyalar (örneğin, gizli bilgileri olan dosyalar veya değeri olmayan çok büyük günlükler) yanlışlıkla yedek kopyaya dahil edildiğinde, anlık görüntüden gereksiz verileri kaldırmanıza olanak tanıyan yeni bir yeniden yazma komutu uygulandı. .
- Dosyaları okurken paralelleştirme düzeyini ayarlamak için yedekleme komutuna “--read-concurrency” seçeneği eklendi ve NVMe gibi hızlı sürücülerde kopyalamayı hızlandırmanıza olanak tanıdı.
- Dosya ağacı tarama aşamasını devre dışı bırakmak için yedekleme komutuna “--no-scan” seçeneği eklendi.
- Prune komutu bellek tüketimini önemli ölçüde azalttı (%30'a kadar).
- Büyük boş alanlara sahip dosyaları verimli bir şekilde geri yüklemek için geri yükleme komutuna "--sparse" seçeneği eklendi.
- Windows platformu için sembolik bağlantıların geri yüklenmesine yönelik destek uygulandı.
- macOS, macFUSE kullanarak yedeklemelerin bulunduğu bir depo oluşturma özelliğini ekledi.
Kaynak: opennet.ru
