Spesso si ha la necessità di dover programmare i backup del nostro server locale, macchina di sviluppo oppure un server esterno in modo da avere sempre una copia di sicurezza dei nostri database.
Windows ci viene incontro fornendoci il Task Scheduler, nella versione italiana “Unità di pianificazione” che grazie alla sua personalizzazione è in grado di lanciare eseguibili, comandi ed operazioni ad una determinata ora e giorno, ripetendo la cosa ciclicamente. Un vero e proprio equivalente del crontab di Unix.
Nel mio esempio specifico programmerò un processo pianificato in modo da eseguire il backup di un database mysql.
Requisiti
- MySQL installato sulla macchina che esegue l’operazione (
(XAMPP – oppure MySQL)
- Eseguibile di MySQL aggiunto alla PATH di sistema
Creiamo un nuovo documento .bat, nel mio caso chiamato start.bat ed inseriamo il seguente comando:
mysqldump -h"il nostro host" -u"il nostro utente" -p"la nostra password" nome_database> C:\directory\nomefile.sql
Inserire la data nel nome del file .sql
Come da screenshot è possibile inserire la data usando:
Testiamo il nostro file bat (file di operazioni batch)
Rechiamoci nella directory del file bat, facciamo tasto destro in un punto qualsiasi della cartella tenendo premuto SHIFT, selezioniamo quindi “Apri finestra di comando qui”, oppure “Apri finestra PoweShell qui”, in modo da aprire la console direttamente nella directory scelta. Nel caso di Powershell: una volta aperto il terminale scriviamo cmd per uscire da Powershell ed andare nel classico cmd.
Nel terminale infine eseguiamo il nostro file .bat, scrivendo start.bat.
Se MySQL viene letto dalla path globale di sistema tutto dovrebbe andare a buon fine, in caso contrario riceverete un messaggio di errore.
Programmare ed avviare il file automaticamente con Task Scheduler
Cerchiamo su Cortana: “Unità di pianificazione” e battiamo invio.
Sulla parte sinistra è possibile creare cartelle per rendere tutto più ordinato e sulla parte destra è possibile aggiungere nuove attività. Premiamo: Crea attività di base
Seguiamo la procedura guidata ed inseriamo nella parte azione il nostro file start.bat
Salviamo e finiamo la procedura.
Il Task Scheduler è uno degli strumenti amministrativi più potenti di Windows, permettendo di fare operazioni automatiche al pc durante tutta la nostra settimana lavorativa e facilitando i nostri compiti.