F FabGPT-FAQ

Backup e sincronizzazione

Restic, Borg, rsync, rclone e i dump consistenti dei database. Ogni comando è verificato e copiabile; in chat basta descrivere cosa vuoi fare.

14 comandi in questa pagina

# Come inizializzo un repository restic?

export RESTIC_REPOSITORY=sftp:backup@nas:/srv/restic
export RESTIC_PASSWORD_FILE=~/.restic-pass
restic init

La password del repo cifra TUTTO: persa quella, i backup sono coriandoli. Va salvata fuori dal server (password manager).

Approfondisci: Come si fanno backup cifrati e deduplicati (Restic, BorgBackup)?Come si fa un backup con la regola 3-2-1?

# Come lancio un backup con restic?

restic backup /etc /home /srv --exclude-caches --tag giornaliero

Incrementale e deduplicato per natura: il secondo backup trasferisce solo i blocchi nuovi.

Approfondisci: Come si fanno backup cifrati e deduplicati (Restic, BorgBackup)?Come si fa un backup con la regola 3-2-1?

# Come ripristino file da uno snapshot restic?

restic snapshots
restic restore a1b2c3d4 --target /tmp/ripristino --include /home/mario/documenti

--include per il singolo path invece dell'intero snapshot; restic mount /mnt/r per sfogliarli come filesystem.

Approfondisci: Come si fanno backup cifrati e deduplicati (Restic, BorgBackup)?

# Come applico la retention e libero spazio in restic?

restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune
restic check    # ogni tanto: verifica l'integrita' del repo

forget senza --prune marca soltanto: lo spazio si libera solo col prune. Il check periodico è il verify dei backup.

Approfondisci: Come si fanno backup cifrati e deduplicati (Restic, BorgBackup)?Come si fa un backup con la regola 3-2-1?

# Come creo un archivio Borg?

borg init --encryption=repokey backup@nas:/srv/borg
borg create --stats backup@nas:/srv/borg::{hostname}-{now} /etc /home

Il placeholder {now} data gli archivi da solo; --stats dice quanto ha davvero trasferito (deduplica inclusa).

Approfondisci: Come si fanno backup cifrati e deduplicati (Restic, BorgBackup)?Come si implementa la crittografia lato client nei backup automatizzati con Borgmatic?

# Come applico la retention agli archivi Borg?

borg prune --keep-daily 7 --keep-weekly 4 --keep-monthly 12 backup@nas:/srv/borg
borg compact backup@nas:/srv/borg

Da Borg 1.2 lo spazio si libera solo con compact dopo il prune: dimenticarlo è il classico "ho prunato ma il disco è pieno".

Approfondisci: Come si implementa la crittografia lato client nei backup automatizzati con Borgmatic?

# Come faccio il mirror di una directory con rsync?

rsync -a --delete /srv/dati/ /mnt/backup/dati/

Le barre finali contano (dati/ = il contenuto); --delete rende il mirror fedele ma propaga anche le cancellazioni: non è un backup con storico.

Approfondisci: Come si fa un backup con la regola 3-2-1?Come si sincronizzano cartelle in modo cifrato e P2P (Syncthing)?

# Come trasferisco file su un server remoto con rsync?

rsync -az --progress /srv/dati/ backup@nas:/srv/copie/dati/

Riprende da dove si era interrotto e trasferisce solo i delta: per i file grossi non c'è paragone con scp.

Approfondisci: Come si fa un backup con la regola 3-2-1?

# Come provo un rsync senza toccare nulla (dry run)?

rsync -avn --delete /srv/dati/ /mnt/backup/dati/

La -n mostra cosa FAREBBE: obbligatoria prima di ogni --delete, che sbagliato di una barra svuota la destinazione.

Approfondisci: Come si fa un backup con la regola 3-2-1?

# Come sincronizzo una directory sul cloud con rclone?

rclone config    # una volta: configura il remote
rclone sync /srv/dati remoto:bucket/dati --progress --dry-run   # poi senza --dry-run

sync rende il remoto IDENTICO (cancellazioni incluse); se vuoi solo aggiungere, il verbo giusto è copy.

Approfondisci: Come si fa un backup con la regola 3-2-1?

# Come monto uno storage cloud come disco (rclone mount)?

rclone mount remoto:bucket /mnt/cloud --vfs-cache-mode writes --daemon

--vfs-cache-mode writes evita i problemi con le app che riscrivono i file; è comodità, non un backup.

Approfondisci: Come si fa un backup con la regola 3-2-1?

# Come faccio dump e restore di MySQL/MariaDB?

mysqldump --single-transaction --routines nomedb | gzip > db-$(date +%F).sql.gz
# restore:
zcat db-2026-09-01.sql.gz | mysql nomedb

--single-transaction = dump consistente senza lock (InnoDB): il backup del datadir a caldo, invece, è corrotto per design.

Approfondisci: Come si fanno backup consistenti di un database (PostgreSQL, MariaDB)?

# Come faccio dump e restore di PostgreSQL?

pg_dump -Fc nomedb > db-$(date +%F).dump
# restore:
pg_restore -d nomedb --clean db-2026-09-01.dump
# in Docker: docker exec -t postgres pg_dump -U utente -Fc nomedb > db.dump

Il formato -Fc (custom) è compresso e permette il restore selettivo per tabella.

Approfondisci: Come si fanno backup consistenti di un database (PostgreSQL, MariaDB)?

# Come faccio il backup di un database SQLite a caldo?

sqlite3 app.db "VACUUM INTO 'backup-$(date +%F).db'"
# o: sqlite3 app.db ".backup backup.db"

MAI copiare il file .db mentre l'app scrive (WAL a metà = corruzione): questi due comandi sono atomici e sicuri.

Approfondisci: Come si fanno backup consistenti di un database (PostgreSQL, MariaDB)?

Chiedi in chat