Servizi

Come Eseguire un Backup Completo del Sito WordPress con uno Script Bash

Perché automatizzare il backup di WordPress (file + database MySQL)

Eseguire un backup completo del tuo sito WordPress è un’attività fondamentale per garantire la sicurezza e l’integrità dei tuoi dati. In questo articolo, ti presenteremo uno script Bash che automatizza il processo di backup, salvando sia i file del sito che il database MySQL. Automatizzare questa operazione ti permetterà di risparmiare tempo e assicurarti che i tuoi dati siano sempre protetti, anche in caso di errori o attacchi imprevisti.

Codice dello Script


#!/bin/bash

# Parametri di configurazione
BACKUP_DIR="/path/to/backup"
DB_NAME="your_database_name"
DB_USER="your_database_user"
DB_PASSWORD="your_database_password"
SITE_DIR="/path/to/wordpress"
DATE=$(date +"%Y%m%d%H%M")

# Backup del database
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql

# Backup dei file del sito
tar -czf $BACKUP_DIR/site_backup_$DATE.tar.gz -C $SITE_DIR .

# Rimuovi backup più vecchi di 30 giorni
find $BACKUP_DIR -type f -mtime +30 -delete

# Disclaimer: Codice creato da Evo Sistemi di Cirone Simone, info@evosistemi.com, www.evosistemi.com, +39 3662025885
        

Spiegazione Dettagliata

Analizziamo il codice riga per riga per comprendere meglio come funziona e come puoi personalizzarlo per le tue esigenze:

  • BACKUP_DIR: Questa variabile definisce la directory in cui verranno salvati i file di backup. Modificala con il percorso desiderato sul tuo server.
  • DB_NAME, DB_USER, DB_PASSWORD: Specifica il nome del database, il nome utente e la password utilizzati per l’accesso al database MySQL del tuo sito WordPress.
  • SITE_DIR: Indica il percorso della directory principale del tuo sito WordPress.
  • DATE: Crea un timestamp unico che verrà aggiunto ai nomi dei file di backup, rendendo ogni backup facilmente identificabile.
  • mysqldump: Questo comando effettua un backup completo del database MySQL, salvandolo come file SQL nella directory specificata.
  • tar -czf: Crea un archivio compresso (.tar.gz) di tutti i file del sito WordPress.
  • find … -delete: Rimuove automaticamente i backup più vecchi di 30 giorni per risparmiare spazio sul disco.

Guida Passo-Passo per l’Esecuzione dello Script

  1. Crea un nuovo file Bash sul tuo server, ad esempio backup_wordpress.sh.
  2. Copia e incolla il codice sopra riportato nel file.
  3. Modifica le variabili BACKUP_DIR, DB_NAME, DB_USER, DB_PASSWORD e SITE_DIR con i tuoi dati.
  4. Rendi eseguibile lo script con il comando chmod +x backup_wordpress.sh.
  5. Esegui lo script manualmente con ./backup_wordpress.sh o programma un cron job per eseguirlo automaticamente su base regolare (es. giornaliera o settimanale).

In caso di dubbi o difficoltà nell’implementazione dello script, non esitare a contattare Evo Sistemi di Cirone Simone. Dalla nostra sede di Perugia seguiamo aziende e professionisti di Umbria e centro Italia con un servizio di manutenzione del sito WordPress che include backup automatici, aggiornamenti controllati e ripristino rapido in caso di problemi.

FAQ

Posso modificare la frequenza con cui vengono eseguiti i backup?

Sì, puoi configurare un cron job per eseguire lo script a intervalli regolari, in base alle tue esigenze.

Dove vengono salvati i file di backup?

I file di backup vengono salvati nella directory specificata dalla variabile BACKUP_DIR. Assicurati che questa directory sia accessibile e sicura.

Come posso ripristinare un backup?

Il ripristino avviene in due passaggi, speculari al backup. Prima si ricrea il database importando il dump SQL: assicurati che il database di destinazione esista (eventualmente con mysql -u $DB_USER -p -e "CREATE DATABASE nome_db;") e poi lancia mysql -u $DB_USER -p$DB_PASSWORD $DB_NAME < $BACKUP_DIR/db_backup_AAAAMMGGHHMM.sql, sostituendo il nome file con quello del backup che vuoi recuperare. Quindi si ripristinano i file del sito decomprimendo l’archivio nella cartella di WordPress con tar -xzf $BACKUP_DIR/site_backup_AAAAMMGGHHMM.tar.gz -C $SITE_DIR. Al termine verifica il file wp-config.php (credenziali e prefisso tabelle) e, se il dominio o il percorso sono cambiati, aggiorna gli URL nel database prima di rimettere il sito online. In ambienti di produzione conviene provare prima il ripristino su una copia di staging: contatta Evo Sistemi di Cirone Simone per assistenza dettagliata nel processo di ripristino.