Recentemente ho avuto bisogno di ripristinare il database del blog, di cui faccio regolarmente il backup o dump che dir si voglia. Trattandosi di un file di dimensioni relativamente grandi – circa 2Mb – sono però incorso in una limitazione imposta al sistema di gestione dei database offerto dal mio provider, Aruba.it: il limite di upload dei files è infatti fissato in circa 130Kb. Per files di dimensioni maggiori si viene indirizzati verso programmi proprietari che spezzano il file in tante parti più piccole.
Come fare?
Esistono alcuni programmi proprietari per Windows, come pure c’è la possibilità di spezzare manualmente il backup tramite editor di testo (consigliato vi). Personalmente ho risolto usando un potente programma disponibile per tutti i sistemi GNU/Linux (fa parte delle core-utils). Il programma in questione si chiama `split`. Split è in grado di spezzare un file in base a diversi parametri: la dimensione in bytes delle signole parti che vogliamo ottenere, la loro lunghezza in linee, ecc…
Per l’ uso che mi serviva ho deciso di spezzare il backup in diversi files con un numero prefissato di linee (1000); questo perchè, se avessi scelto la divisione in base alla dimensione, avrei tagliato casualmente le istruzioni sql rendendo l’ operazione inutile.
Ecco la sintassi da usare:
$ split -l 1000 nome_del_file
Questo comando genera una serie di files chiamati `x…..` dove i puntini sono sostituiti dalle lettere dell’ alfabeto. E’ anche possibile anche specificare il nome dei file di destinazione in base a modelli o patterns.
Una volta ottenuti i file, è stato sufficiente fare il singolo upload di ciascuno di essi tramite phpmyadmin ed eseguire le queries per veder ripristinato il mio backup.
Split è molto utile anche nel caso in cui si voglia spezzare un file per farle il backup su unità di dimensione fissa o altro.
Per windows cè MegaSplit
( http://byakugan.altervista.org )
Grazie per il consiglio!!!