User Tools

Site Tools


Sidebar

No ai soldati italiani all'estero

Indice

Eventi

Energia

Rigacci.Org usa energia elettrica da fonti rinnovabili, grazie al gruppo di acquisto Merci Dolci.

Merci Dolci - Energia Rinnovabile

Software libero!

Petizione contro i brevetti software

Faunalia: Soluzioni GIS professionali

Debian

www.gnu.org www.kernel.org

doc:appunti:linux:sq:borgbackup

Borg Backup

Variabili di ambiente

Il programma borg esegue operazioni diverse a seconda dei parametri forniti sulla riga di comando. In generale avrà bisogno di sapere su quale repository (spazio di archiviazione) lavorare e chiederà in maniera interattiva la passphrase che sblocca la chiave di cifratura. Per non dover ripetere queste informazioni in ogni comando, è possibile impostare due variabili di ambiente opportune:

export BORG_REPO='/home/backups/documents'
export BORG_PASSPHRASE='475497037d3c00c9f07d259f63a30547'

Negli esempi che seguiranno il repository non è mai indicato perché si suppone che sia istanziata la variabile BORG_REPO. I comandi potranno essere eseguiti in modo non interattivo perché la password sarà istanziata in BORG_PASSPHRASE.

Inizializzare il repository

La prima operazione da effettuare è quella di creare un repository, cioè lo spazio dove verranno memorizzati gli archivi, Un archivio è il risultato di una singola operazione di backup.

borg init --encryption=repokey

Il comando inizializa lo spazio del repository, creando alcuni file e directory di servizio. La chiave di cifratura viene salvata nel file $BORG_REPO/config, cioè viene salvata nello stesso repository, per via dell'opzione repokey. Se il repository è remoto si potrebbe preferire memorizzare la chiave in un file locale, senza che sia presente nel repository remoto; in questo caso l'opzione keyfile. Vedere man borg-init.

La passphrase serve in ogni caso a sbloccare la chiave di cifratura.

Eseguire il backup

In questo esempio si esegue il backup di due directory (viene creato un archivio). Nel repository il nuovo archivio verrà identificato con un nome del tipo docs-and-mail-2021-08-05T17:00:48. Per una spiegazione delle varie opzioni vedere man borg-create.

borg create                  \
    --exclude-caches         \
    --verbose                \
    --filter AME             \
    --list                   \
    --stats                  \
    --show-rc                \
    --compression lz4        \
    ::'docs-and_mail-{now}'  \
    /home/share/documenti    \
    /home/niccolo/Maildir

Al termine dell'operazione vengono memorizzati alcuni file nella $HOME dell'utente che ha eseguito il backup:

$HOME/.config/borg/ 28 kb
$HOME/.cache/borg/ 11 Mb

FIXME A che servono questi file? Quanto spazio potranno occupare? Sono necessari per un restore bare-metal?

Se una operazione di backup viene interrotta prima che sia completata, lo spazio utilizzato non viene liberato. Forse viene riutilizzato alla successiva esecuzione? A seguito di un backup interrotto nel repository non risulta alcun archivio nuovo.

Elencare i backup eseguiti

Per vedere quanti backup sono contenuti in un determinato repository (cioè gli archivi), si esegue il comando:

borg list
docs-and-mail-2021-08-05T17:00:48  Thu, 2021-08-05 17:00:49 [b6d25f...
docs-and-mail-2021-08-06T09:19:03  Fri, 2021-08-06 09:19:03 [f408a7...

NOTA: Il repository e la passphrare si intendono istanziati nelle rispettive variabili d'ambiente.

Ispezionare il contenuto di un backup

Per elencare tutti i file contenuti in un archivio si utilizza il comando:

borg list ::docs-and-mail-2021-08-06T09:19:03

Vengono mostrati tutti i file esistenti al momento della creazione dell'archivio, anche quelli archiviati nei precedenti backup e che, grazie alla deduplicazione, non hanno occupato ulteriore spazio.

Recuperare file da un backup

Recuperare l'intero archivio

Estrae tutto l'archvio nella directory corrente:

borg extract /path/to/repo::Monday

Recuperare un solo file

Recuperare una directory

Web References

doc/appunti/linux/sq/borgbackup.txt · Last modified: 2021/08/06 18:17 by niccolo