Linux Server Deployment & SSH Mastery · Lezione

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.

Lezione 4 di 413 passaggi

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).dump

Ripristinare 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.dump

Creare 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.sql

Eseguire 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).sql

Automatizzare 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>&1

Un 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 -delete

Archiviazione 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/mysqldump e ripristini con pg_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.

Gratis per iniziare

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

  1. Installazione di PostgreSQL/MySQL
  2. Utenti del database e controllo degli accessi
  3. Protezione delle connessioni al database
  4. Strategie di backup e ripristino dei database
← Torna a Linux Server Deployment & SSH Mastery