Backup af MySQL database

Lige pludselig gik det op for mig, at der kan være problemer med at håndtere backup af MySql databaser – eks. den du har under din WordPress blog. Når databasen når en vis størrelse og hosting leverandøren har begrænset indstillingerne på webserveren, så løber eks. phpmyadmin ind i time outs, så backuppen ikke bliver komplet og kan bruges til genskabe bloggen. Altså kort sagt en ubrugelig backup.
Hvad mere ubehageligt er, at for langt de fleste installationer af phpmyadmin forholder det sig sådan, at den kan lave backup af større database end den kan genetablere. Altså igen en ubrugelig løsning.

Jeg søgte nettet tyndt for at finde en anden løsning – tro mig der er mange valgmuligheder – men der var ingen af dem løste mit problem helt. Langt de fleste backupløsninger er nemlig lavet således at hele databasen skal kunne være i web serveren hukommelse. Databasen jeg skulle tage backup af var på ca. 34 Mb og jeg har adgang til 32 Mb hukommelse. Derfor satte jeg mig til tasterne og skrev nogle linjer php kode. Scriptet er måske lidt langsommere end andre for små databaser, det skyldes at der overføres en post i databasen til backup filen adgangen, herved at belastningen af serverens hukommelse mindre. Scriptet er testet med en knapt 35 Mb database, det tog 0,5 – 1 minut at gøre filen klar til download på mit webhotel.

Jeg har valgt ikke at skrive noget script til genskabelse, for jeg fandt et godt færdigt værktøj til denne opgave. BigDump. Hvis din database er større end 2 Mb skal du uploade backup filen til serveren via ftp inden du kan genskabe databasen.

Du kan hente mit værktøj. Værktøjet er lidt rustikt. Der er adskillige funktioner som jeg godt kunne tænke mig at lave, men de må lige vente på en mørk vinteraften. Jeg forventer at der kommer komprimering, mulighed for at tage backup af enkelte tabeller, adviseringsmail, overførsel af datafil til ftpserver o.lign.

For at få scriptet til at fungere skal du udpakke zip filen, angive dit brugernavn, password, databasenavn, navn på databaseserver og domainnavn i config.php filen. Efterfølgende skal du lægge de tre filer og mappen backups på din webserver. Så kalder du blot filen scehme_backup.php med din browser, så dannes der en ny backupfil.

Du kan også automatisere backuppen ved at lægge en WGET commando til scriptet i CRONTAB. WGET kan også fås til Windows og automatiseres via Task Sceduler. Hvis du automatisere backup bør du også automatisere at filerne bliver fjernet fra webserveren, de fylder og der er ikke nogen væsentlig sikkerhed ved at opbevare filerne på webserveren.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  

  

  

Content Protected Using Blog Protector By: PcDrome.