Problema: voglio fare un backup locale del mio sito.
Soluzione: uno script via ftp scarica il sito, ma il database ?!?! [diciamo che senza dabatabase (d’ora in poi, amichevolmente, db), il sito scaricato serve a poco se non a nulla….]
Soluzione 1->n : vari plugin di wordpress che facevano il dump, qualcuno và, qualcuno no, qualcuno vuole una valanga di ram…… insomma, come diceva il caro (vecchio) Dott. Campana “Se non c’è/non funziona/non mi piace, si crea”….
Ho risolto creando una pagina php da mettere nel server, la quale si occupa di fare un “dump” del db, utilizzando solamente comandi php (quindi funziona anche nei server che hanno disabilitato il dump usando l’exec o system com “mysqldump” ).
Fatto il select ricrea la struttura di un dump, e la rende disponibile per il download.
La pagina è stata fatta in modo da poter essere lanciata da remoto, che avvisi quando ha finito, che restituista un md5 del dump (in modo da poterlo verificare una volta scaricato) e che si possa da remoto cancellare il db appena creato.
L’ho provata e sembra funzionare bene…..
Il programma di compone di una pagina php da caricare nel server, uno script bash che si occupa di fare il backup e verificarlo ed un file di configurazione per ogni sito di cui si vuole fare il backup, contentente utenti e password per l’ftp (l’ho pensato per fare velocemente backupsu più siti).
Siccome non ho ancora previsto sufficienti misure di “sicurezza” [e sono paranoico, lo sapete], non pubblicherò attualmente il codice: se a qualcuno interessa mi mandi una mail, gli invierò un tar con tutto il codice e le relative spiegazioni.
Se qualcuno vuole collaborare per “ampliare” il progetto, mi contatti 🙂
Stefano