Sicurezza Cyber

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

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

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.

Chiama Richiedi un preventivo