User Tools

Site Tools


doc:appunti:linux:sq:borgbackup

This is an old revision of the document!


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 gli archivi

Per vedere quanti backup sono contenuti in un determinato repository, 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.

Web References

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