Disponibile il sistema di backup Restic 0.13

Dopo un anno di sviluppo, viene presentato il rilascio del sistema di backup restic 0.13, che fornisce strumenti per il salvataggio delle copie di backup in un repository versionato, che può essere ospitato su server esterni e in cloud storage. I dati vengono archiviati in forma crittografata. È possibile definire regole flessibili per includere ed escludere file e directory durante la creazione di un backup. Supporta il lavoro su Linux, macOS, Windows, FreeBSD e OpenBSD. Il codice del progetto è scritto in Go e distribuito sotto la licenza BSD.

Caratteristiche principali:

  • Supporto per l'archiviazione dei backup in un file system locale, su un server esterno con accesso tramite SFTP/SSH o HTTP REST, nei cloud Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage e Google Cloud Storage, nonché in qualsiasi storage per il quale esistono backend rclone. Per organizzare lo storage è possibile utilizzare anche uno speciale server rest, che fornisce prestazioni più elevate rispetto ad altri backend e può funzionare in modalità append-only, che non consentirà di eliminare o modificare i backup se il server di origine e l'accesso alle chiavi di crittografia sono compromesso.
  • Supporto per la definizione di regole flessibili per escludere file e directory durante la creazione di backup (ad esempio, per escludere registri, file temporanei e dati facilmente riproducibili dai backup). Il formato delle regole di ignoranza è familiare e ricorda rsync o gitignore.
  • Facile da installare, utilizzare e ripristinare le informazioni. Per lavorare con i backup, è sufficiente copiare un file eseguibile, che può essere utilizzato senza impostazioni aggiuntive. Viene fornita una build ripetibile per il file eseguibile stesso, consentendo di verificare personalmente che l'assembly binario sia formato dal codice sorgente fornito.
  • Sono supportate le istantanee, che riflettono lo stato di una directory specifica con tutti i file e le sottodirectory in un determinato momento. Ogni volta che viene creato un nuovo backup, viene creata una istantanea associata, che consente di ripristinare lo stato in quel momento. È possibile copiare istantanee tra diversi repository.
  • Per risparmiare traffico, durante il processo di backup vengono copiati solo i dati modificati. Per garantire un'archiviazione efficiente, i dati nel repository non vengono duplicati e gli snapshot aggiuntivi coprono solo i dati modificati. Il sistema non manipola interi file, ma blocchi di dimensioni variabili selezionati utilizzando la firma Rabin. Le informazioni vengono archiviate in relazione al contenuto, non ai nomi dei file (i nomi e gli oggetti associati ai dati sono definiti a livello di metadati del blocco). In base all'hash SHA-256 del contenuto, viene eseguita la deduplicazione ed eliminata la copia non necessaria dei dati.
  • Per valutare visivamente il contenuto del repository e semplificare il ripristino, è possibile montare un'istantanea con una copia di backup sotto forma di partizione virtuale (il montaggio viene eseguito utilizzando FUSE). Vengono inoltre forniti comandi per analizzare le modifiche ed estrarre selettivamente i file.
  • Le informazioni sui server esterni vengono archiviate in forma crittografata (SHA-256 viene utilizzato per i checksum, AES-256-CTR viene utilizzato per la crittografia e i codici di autenticazione basati su Poly1305-AES vengono utilizzati per garantire l'integrità). Il sistema è stato inizialmente progettato per garantire che le copie di backup siano archiviate in ambienti non affidabili e che, se una copia di backup cade nelle mani sbagliate, non dovrebbe compromettere il sistema. La crittografia può essere fornita utilizzando sia chiavi di accesso che password.
  • È possibile verificare la copia di backup utilizzando checksum e codici di autenticazione per confermare che l'integrità dei file non è compromessa e che i file necessari possono essere ripristinati e non includono modifiche nascoste.

Nella nuova versione:

  • Aggiunto supporto per modelli di esclusione negativi. Ad esempio, "--exclude '/home/user/*' --exclude '!/home/user/.config'" per escludere tutto il contenuto di /home/user tranne la directory /home/user/.config.
  • Al comando "backup" è stata aggiunta la modalità "--dry-run" che, se eseguita con l'opzione "--verbose", consente di tenere traccia di quali file verranno inclusi nel backup senza apportare alcuna modifica.
  • È stato aggiunto il supporto per i checksum a vari backend di archiviazione per un'ulteriore verifica dei dati scaricati.
  • Il comando “ripristina” è stato ottimizzato, facendolo funzionare due volte più velocemente. Sono state migliorate anche le prestazioni del comando "copia".

Fonte: opennet.ru

Aggiungi un commento