
La possibilità di eseguire un backup e ripristino a caldo cioè senza interrompere il servizio o smontare i dispositivi rappresenta un grande vantaggio nella gestione di sistemi Linux, soprattutto quando si lavora con schede SD (come nei Raspberry Pi), dischi HDD o volumi logici LVM.
In ambienti di produzione o in contesti embedded, dove la continuità operativa è fondamentale, poter effettuare snapshot e copie di sicurezza “live” riduce i tempi di inattività e minimizza il rischio di perdita dati.
In questo articolo vedremo come realizzare un backup e un restore a caldo di diversi tipi di dispositivi, utilizzando strumenti dd e le buone pratiche per garantire integrità, consistenza e ripristino rapido del sistema.
Che tu stia clonando una SD di un Raspberry Pi, un disco fisico o un volume logico LVM, troverai un approccio unificato e ripetibile per gestire i backup in modo sicuro e professionale.
MONTARE UN UNITA’ NAS
Creare il punto di mount con il comando:
|
0 |
sudo mkdir -p /mnt/backup
|
NOTA BENE: Il file /root/.smbcredentials deve contenere:
username=utente
password=password
Montare Unità CIFS (NAS Windows o Samba) con il comando:
|
0
1
|
sudo mount -t cifs //192.168.1.35/share/backup_pc /mnt/backup \
-o credentials=/root/.smbcredentials,vers=3.0,uid=0,gid=0,file_mode=0777,dir_mode=0777
|
IDENTIFICARE IL DISCO DA SALVARE
Visualizza i dischi presenti con il comando:
|
0 |
lsblk |
Esempi comuni:
|
0
1
2
|
Raspberry Pi → /dev/mmcblk0
SSD/SATA → /dev/sda
NVMe → /dev/nvme0n1
|
Annota il nome del disco principale (non le partizioni, es. /dev/sda, non /dev/sda2).
ESEGUIRE IL BACKUP COMPLETO CON DD
Prima di eseguire la sync salvare la history con il comando:
|
0 |
sudo -a history
|
Quindi sincronizzare i dati su disco con il comando:
|
0 |
sudo sync
|
Rimontare i filesystem in sola lettura (backup a caldo più sicuro) con i comandi:
|
0
1
|
sudo mount -o remount,ro /
sudo mount -o remount,ro /boot
|
Eseguire il backup con compressione con il comando:
|
0 |
sudo dd if=/dev/sda bs=4M iflag=fullblock status=progress | gzip -c > /mnt/backup/$(hostname)-backup-$(date +%Y%m%d-%H%M).img.gz
|
NOTA BENE: Sostituire /dev/sda con il tuo disco
Rimontare in lettura/scrittura dopo il backup con i comandi:
|
0
1
|
sudo mount -o remount,rw /
sudo mount -o remount,rw /boot
|
Calcolare e salvare il checksum SHA256 con i seguenti comandi:
|
0
1
|
cd /mnt/backup
sha256sum $(ls -1t *.img.gz | head -n 1) | tee $(ls -1t *.img.gz | head -n 1).sha256
|
Smontare il NAS (opzionale) con il comando:
|
0 |
sudo umount /mnt/backup
|
RIPRISTINO (RESTORE) DI UN BACKUP
Montare il NAS con il comando:
|
0 |
sudo mkdir -p /mnt/backup
|
Elencare i backup disponibili:
|
0 |
ls -lh /mnt/backup/*.img.gz
|
Verificare l’integrità di un file backup con i seguenti comandi:
|
0
1
2
|
cd /mnt/backup
sha256sum -c nomefile.img.gz.sha256
|
ATTENZIONE: Cancellare i primi MB del disco di destinazione (per evitare residui da vecchie partizioni)
|
0 |
sudo dd if=/dev/zero of=/dev/sda bs=1M count=10 conv=fsync
|
Ripristinare il backup con il comando:
|
0 |
gzip -dc /mnt/backup/raspi-backup-20251022-2300.img.gz | sudo dd of=/dev/sda bs=4M status=progress conv=fsync
|
NOTA BENE: Sostituire raspi-backup-20251022-2300.img.gz con il backup corretto
Sincronizzare e riavvia con i seguenti comandi:
|
0
1
|
sync
sudo reboot
|
TIPS AND TRICKS
Per facilitarti il lavoro scaricare lo script al fondo di questa pagina oppure da GitHub con il comando:
|
0 |
curl -o full-disk-backup-restore.sh https://raw.githubusercontent.com/a-lauria/script/main/full-disk-backup-restore.sh
|
Rendere poi lo script eseguibile con il comando:
|
0 |
chmod +x full-disk-backup-restore.sh
|
Lo script include diverse funzioni utilizzabili.
COMANDI RAPIDI
BACKUP COMPLETO sudo /script/full-disk-backup-restore.sh backup
RESTORE INTERATTIVO sudo DEVICE=/dev/mmcblk0 /script/full-disk-backup-restore.sh restore
ELENCO BACKUP DISPONIBILI sudo /script/full-disk-backup-restore.sh list
Ricordati di sostituire le credenziali e il percorso NAS con quelli corretti per il tuo ambiente.
Download “full-disk-backup-restore.zip” full-disk-backup-restore.zip – Scaricato 0 volte – 2,80 KB

0 commenti