Strategie di backup e ripristino dei database
Proteggete i vostri dati con backup affidabili: eseguite il dump e il ripristino di database PostgreSQL e MySQL, automatizzate i backup con cron e comprendete il point-in-time recovery per superare guasti ai dischi ed errori umani.
Strategie di backup e ripristino dei database è una lezione Linux Server Deployment & SSH Mastery gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Server Deployment & SSH Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.
I backup fanno parte della sicurezza
Ha installato un database, limitato l'accesso e protetto le connessioni. Tuttavia, un server adeguatamente protetto è ancora vulnerabile a un guasto del disco, a un DROP TABLE accidentale o al ransomware.
I backup sono l'ultima linea di difesa. Un database è sicuro solo quanto il backup testato più recente.
Backup logici e fisici
Esistono due approcci generali:
- Logico — esportare istruzioni SQL / dati (ad esempio
pg_dump,mysqldump). Portabile, leggibile, più lento da ripristinare. - Fisico — copiare i file di dati grezzi. Rapido per database enormi, ma legato alla versione del server.
La maggior parte delle configurazioni inizia con backup logici.
Creare un dump di un database PostgreSQL
pg_dump esporta un singolo database. Il formato personalizzato (-Fc) è compresso e supporta il ripristino selettivo.
pg_dump -U appuser -Fc mydb > mydb_$(date +%F).dumpRipristinare PostgreSQL
Ripristini un dump in formato personalizzato con pg_restore. Per un dump SQL semplice, lo reindirizzi invece a psql.
createdb -U appuser mydb_restored
pg_restore -U appuser -d mydb_restored mydb_2026-05-30.dumpCreare e ripristinare dump MySQL
MySQL/MariaDB usano mysqldump per esportare e mysql per importare. Il dump è SQL semplice per impostazione predefinita.
mysqldump -u appuser -p mydb > mydb_$(date +%F).sql
mysql -u appuser -p mydb_restored < mydb_2026-05-30.sqlEseguire il backup di tutti i database
Per acquisire un intero server, entrambi i motori offrono un dump dell'intero cluster. È utile prima di importanti aggiornamenti o migrazioni.
pg_dumpall -U postgres > all_$(date +%F).sql
mysqldump -u root -p --all-databases > all_$(date +%F).sqlAutomatizzare con Cron
Un backup che deve ricordarsi di eseguire prima o poi verrà dimenticato. Lo pianifichi con cron. Inserisca il comando di dump in uno script e lo esegua ogni notte.
# crontab -e -> run at 02:30 every day
30 2 * * * /usr/local/bin/db_backup.sh >> /var/log/db_backup.log 2>&1Un semplice script di backup
Un buon script assegna un timestamp ai file e rimuove quelli vecchi, così il disco non si riempie. Questo esempio conserva 14 giorni di dump.
#!/bin/bash
DIR=/var/backups/db
pg_dump -U appuser -Fc mydb > $DIR/mydb_$(date +%F).dump
find $DIR -name 'mydb_*.dump' -mtime +14 -deleteArchiviazione fuori sede
Un backup sullo stesso server viene perso insieme al server. Copi i dump altrove — nell'object storage, su un altro host o in entrambi i luoghi.
Usi rsync o una CLI cloud come passaggio finale dello script di backup.
rsync -avz /var/backups/db/ backup@remote:/srv/db_backups/
# or: aws s3 cp $DIR/mydb_$(date +%F).dump s3://my-bucket/Ripristino a un punto nel tempo
I dump giornalieri possono causare la perdita di dati fino a un'intera giornata. Per una perdita nulla o minima, abiliti l'archiviazione continua (l'archiviazione WAL in PostgreSQL, i log binari in MySQL). In combinazione con un backup di base, può ripristinare il database a qualsiasi istante.
Questo è lo standard di riferimento per i database di produzione.
Buone pratiche
Renda affidabili i backup:
- Esegua regolarmente i ripristini di prova — un backup non testato è solo un'ipotesi
- Automatizzi e monitori i processi di backup per rilevare gli errori
- Conservi copie fuori sede
- Mantenga più generazioni, non solo l'ultima
Verifica rapida
Verifichi le sue conoscenze sui backup.
Riepilogo
Ora dispone di una strategia per proteggere il database:
- Dump logici con
pg_dump/mysqldumpe ripristini conpg_restore/mysql - Dump dell'intero cluster per le migrazioni
- Backup automatizzati che eliminano le copie obsolete tramite cron
- Copie fuori sede e ripristino a un punto nel tempo per ridurre al minimo la perdita di dati
Testi sempre i ripristini — in questo modo completa la gestione sicura del database.
Impara Linux Server Deployment & SSH Mastery con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 12
- Lezioni
- 48
Domande Frequenti
La lezione «Strategie di backup e ripristino dei database» è gratuita?
Sì — il testo completo di «Strategie di backup e ripristino dei database» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Server Deployment & SSH Mastery, passa a CoddyKit PRO. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.
Cosa imparerò in «Strategie di backup e ripristino dei database»?
Proteggete i vostri dati con backup affidabili: eseguite il dump e il ripristino di database PostgreSQL e MySQL, automatizzate i backup con cron e comprendete il point-in-time recovery per superare g… Eserciti Linux Server Deployment & SSH Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Linux Server Deployment & SSH Mastery?
Non è richiesta alcuna esperienza precedente. Linux Server Deployment & SSH Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Strategie di backup e ripristino dei database»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Linux Server Deployment & SSH Mastery?
Sì. Ogni lezione Linux Server Deployment & SSH Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Installazione di PostgreSQL/MySQL
- Utenti del database e controllo degli accessi
- Protezione delle connessioni al database
- Strategie di backup e ripristino dei database