Automatizza il tuo backup di WordPress con la semplice shell scripting e CRON
L'ultima volta che abbiamo parlato dei backup di WordPress, ti ho mostrato quanto sia stato incredibilmente facile eseguire il backup dell'intero database e dei tuoi file tramite SSH Come eseguire il backup del tuo sito web tramite SSH Command Line Come eseguire il backup del tuo sito web tramite la riga di comando SSH Il backup del tuo sito Web o blog può essere un compito costoso e arduo, che richiede una varietà di plug-in o piani aggiuntivi da parte del provider di hosting, ma non è necessario. Se hai SSH ... Leggi di più con solo pochi comandi. Questa volta mostrerò come automatizzare quei comandi, offrendoti nuovi backup dell'intero sito ogni settimana, con pochissimo sforzo. Questo sarà anche un'ottima introduzione sia agli script di shell che a CRON se non li hai mai toccati prima - la chiave per imparare argomenti così vasti è iniziare subito usandoli per fare qualcosa di utile per te.
Riepilogo: salva tutto
Ci siamo occupati di quest'ultima volta, ma un breve riepilogo dei due comandi necessari per il backup del database e dei file, supponendo che tu abbia già effettuato l'accesso e spostato la directory del sito web (leggi il primo tutorial se non capisci). Assicurati di eseguirli in questo ordine, in modo che il backup dei file includa il file di database che hai emesso nel primo comando:
mysqldump --add-drop-table -u username -p databasename> databasebackup.sql tar -cf backupfile.tar .
Sostituisci il nome utente e nome del database articoli con i dettagli del database e del nome utente.
Automation Fase uno: scripting
Per ora, creeremo un nuovo script che esegue semplicemente i comandi appresi per il backup, con alcune modifiche per includere anche la password (poiché questa sarà automatizzata, non sarà possibile digitare la password ogni volta ). Quando avremo finito, ti conviene lasciare un solo comando da eseguire che eseguirà due comandi per te!
È anche giunto il momento in cui hai imparato come modificare i file di testo tramite la riga di comando, dato che non puoi fare affidamento su FTP e GUI tutto il tempo. È possibile utilizzare un semplice editor di testo chiamato vi per farlo.
Per avviare l'app e creare il tuo primo script, digita:
vi mybackupscript.sh
Se il file non esiste già, verrà creato e ti verrà mostrata una schermata piuttosto scoraggiante simile a questa:
vi ha due modalità: modifica e comando. Per entrare in modalità di modifica, premi i. Quindi puoi iniziare a digitare. Saprai che ha funzionato, perché in basso a sinistra si passa a -INSERT-
Inizia digitando quanto segue:
#! / bin / sh mysqldump --add-drop-table -unome utente -pparola d'ordine tablename > dbbackup.sql tar -cf backup.tar .
Si noti che questa volta, stiamo includendo la password nel comando. Si noti inoltre che quando si utilizza l'opzione -p per specificare la password, inseriamo immediatamente la password dopo di essa senza spazi tra di esse. Se preferisci, puoi scrivere il comando in questo modo, ma funzionalmente non c'è differenza:
#! / bin / sh mysqldump --add-drop-table --user =nome utente --password =parola d'ordine tablename > dbbackup.sql tar -cf backup.tar .
Ora dobbiamo salvarlo. Premere ESC una volta per uscire dalla modalità di modifica e in modalità di comando dell'editor di testo. Genere:
:Scrivi
e premere invio, quindi
:smettere
e inserisci di nuovo.
Quindi a questo punto avrai capito che ogni comando che tu dai deve essere preceduto da due punti. Questo è tutto con vi per ora.
Torna sulla riga di comando, procedi e rendi il tuo nuovo script eseguibile digitando quanto segue:
chmod 744 mybackupscript.sh
E infine, provalo con:
./mybackupscript.sh
Ovviamente, a seconda delle dimensioni del tuo sito e della velocità del tuo server, potrebbe volerci un po 'di tempo. Alla fine, puoi elencare i file e trovare un backup.tar. Sul mio server virtuale privato ci sono voluti circa 5 secondi per creare il backup del sito WordPress da 100MB.
Automation Step Two: CRON
CRON è un programmatore di compiti per Linux. Non lo approfondiremo in dettaglio qui, ma ti fornirò tutto ciò di cui hai bisogno per eseguire il tuo script di backup ogni settimana. Abbiamo anche spiegato come eseguire i lavori CRON dal pannello di controllo del sito Web basato sulla GUI. Per aggiungere un'attività all'utilità di pianificazione CRON, è sufficiente aggiungere una linea a “crontab”. Modifica questo digitando:
crontab -e
Questo aprirà il file CRON nel tuo editor di testo, molto probabilmente vi ancora. Se non hai mai aggiunto nulla prima, è anche probabile che sia vuoto. Nessun problema. Aggiungi queste righe:
00 4 * * 0 /httpdocs/mybackupscript.sh
Il formato che segue questo comando è un po 'difficile, ma va così:
minuto ora giorno-della-mese-mese-giorno-della-settimana
Un * nel modello ignora quell'elemento. Quindi nell'esempio sopra, eseguiremo il nostro script di backup a 00 minuti 4 ore, ogni 0 (domenica) della settimana.
Ecco alcuni altri esempi per aiutarti a capire:
01 * * * * echo "Questo comando viene eseguito ad un minuto ogni ora" 17 8 * * * echo "Questo comando viene eseguito ogni giorno alle 8:17" 17 20 * * * echo "Questo comando viene eseguito ogni giorno alle 8 : 17:00 "00 4 * * 0 echo" Questo comando viene eseguito alle 4 del mattino ogni domenica "* 4 * * Sun echo" Quindi questo è "42 4 1 * * echo" Questo comando viene eseguito 4:42 am ogni 1 ° di il mese "01 * 19 07 * echo" Questo comando viene eseguito ogni ora il 19 luglio "
Una volta inserito, salva il file premendo ESC, quindi digita: scrivi seguito da: esci. Una versione di questo tipo è semplicemente scrivere: wq, che scriverà entrambi il file e uscirà. È comodo, ma se sei come me dimentichi queste piccole scorciatoie.
Questo è tutto! Ora avrai una copia aggiornata del tuo database e dell'intero sito nella root, chiamato backup.tar (o qualsiasi altra cosa tu abbia scelto di nominarlo). Potresti voler imparare un po 'più di scripting per aggiungere la data alla fine del nome del file ed evitare di sovrascrivere lo stesso ogni volta, ma spetta a te scoprire. Spero che tu possa vedere quanto sia potente adesso la linea di comando!
Scopri di più su: Automazione dei computer, backup dei dati, programmazione, Wordpress.