Multiple MySQL Back-up

Door Elwin - Fratsloos, 17 jaar geleden, 3.179x bekeken

Dit script maakt verbinding met meerdere MySQL databaseservers. Vervolgens zal deze voor alle databases een back-up in een bestand (.sql) wegschrijven. De naam van het bestand is voor een groot gedeelte zelf te bepalen.

Het grote voordeel van dit script t.a.v. andere 'back-up scripts' is dat dit script zonder veel aanpassingen meerdere servers kan benaderen om een back-up te maken.

Let op!
Het uitvoeren van het script kan lang duren!

'Installatie'
1) Plaats het script op de computer die de back-ups maakt.
2) Maak een schrijfbare map aan.
3) Vul de variabelen correct in ($filedir, $filename, $dbServer, $dbUser, $dbPassword).
4) Vul voor meerdere servers opnieuw de gegevens van de server in.

Tip
Laat het script door een cronjob of geplande taak uitvoeren. Doe dat op een dag in de week 's morgens vroeg. Dan hoef je niet actief je MySQL back-up te maken.
Controleer wel na elke back-up of de bestanden nog goed zijn.

Uitvoeren
Bij mij duurde het uitvoeren van het script voor drie servers (1 lokaal, 2 remote) in totaal 8 minuten. Daarin is 36 MB aan data geback-upped.
Gebruik het script vanaf de CLI van PHP. Bepaalde browsers willen nog wel eens na 30 seconden stoppen!

Gesponsorde koppelingen

PHP script bestanden

  1. multiple-mysql-backup

 

Er zijn 9 reacties op 'Multiple mysql backup'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Alfred -
Alfred -
17 jaar geleden
 
0 +1 -0 -1
Quote:
exit("Could not connect to server ".$dbServer[$i].". Back-up stopped. MySQL error code: ".mysql_errno().": ".mysql_error());


Dus, als hij niet kan verbinden met server1, staakt hij de poging voor server2, server3, etc etc ook? Misschien hier geen exit plaatsen? (:
Elwin - Fratsloos
Elwin - Fratsloos
17 jaar geleden
 
0 +1 -0 -1
Oeps.. :) Dat was een debugregel die er niet meer in hoorde te staan. Kreeg namelijk in eerste instantie geen verbinding met me derde server... :)

Nu is het veranderd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($connection = mysql_connect()) {

}

?>


En helemaal geen else.

Elwin


17 jaar geleden
 
0 +1 -0 -1
Ziet er netjes uit!
Misschien is het in een .tar opslaan nog een idee...
Mebus  Hackintosh
Mebus Hackintosh
17 jaar geleden
 
0 +1 -0 -1
handig script zal hem bewaren op m'n comp!


17 jaar geleden
 
0 +1 -0 -1
Ziet er cker wel goed uit:P

ik was zelf net aan het kloten voor meerdere databases in een keer maar dat is hiermee ook meteen op te lossen:P

edit: daar had je niet specifiek dit script voor nodig, maar wel delen die erin staan
Lissy Pixel
Lissy Pixel
17 jaar geleden
 
0 +1 -0 -1
Dank je wel voor het delen!
Ik ga het installeren en gebruiken :)
Han eev
Han eev
17 jaar geleden
 
0 +1 -0 -1
Leuk script :)
Lijkt wel op mijn backupper
Dachel
Dachel
14 jaar geleden
 
0 +1 -0 -1
Wanneer je het script toch als crontab draait, wat is er dan mis met het gebruik van mysqldump? Ik zie het voordeel van dit script ten opzichte van mysqldump niet echt, buiten dat je misschien 3 servers in één keer kan meegeven, maar die winst lijkt me eerder marginaal (drie crons instellen ten opzichte van 1 is nu ook weer niet zo heel erg veel arbeid).
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Frank -
Frank -
14 jaar geleden
 
0 +1 -0 -1
Tja, dit soort scriptjes kunnen dan ook geen goede backup garanderen. De enige manier om een goede backup te maken van een MySQL-database, is het gebruik van het programma mysqldump die met de database wordt meegeleverd. Alle andere pogingen zijn niet meer dan leuk gepruts. En dat kan werken op kleine onbelangrijke databases, maar ook niet meer dan dat. Er kan veel te veel fout gaan. Zie de handleiding van de database, daarin staat e.e.a. vrij aardig uitgelegd.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. multiple-mysql-backup

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.