Om jag har en databas och vill göra en databas genom en knapp på en hemsida går det?
Backup på MySQL
5 svar · 413 visningar · startad av harry_boy
Det finns redan ett förträffligt verktyg när det gäller administration av mysql.
http://www.phpmyadmin.net
Du har en inbyggd funktion där man enkelt kan spara ner databasen för att senare återställa den.
Är det stora databaser så är det kanske mindre lämpligt att ö.h.t. göra detta via en hemsida. Använd istället de inbyggda programmen som finns i mappen /mysql/bin/
Vill du av någon anledning bara använda en knapp på hemsidan så går det ganska enkelt att fixa genom att använda MySQL:s egna program.
<?php
// Variabler
$user = 'användarnamn';
$passwd = 'lösenord';
$db_name = 'databasnamn';
$mysql_exec = 'C:\\\\mysql\\\\bin';
$backup_dir = 'C:\\\\backup\\\\mysql_dump';
// Dumpa databasen
$dump_app = "mysqldump.exe";
$mysql_dump = "$mysql_exec\\\$dump_app -h localhost -u $user -p$passwd $db_name > $backup_dir\\\$db_name.sql";
exec("$mysql_dump");
// Läs tillbaka databasen
$mysql_app = "mysql.exe";
$mysql_restore = "$mysql_exec\\\$mysql_app -h localhost -u $user -p$passwd $db_name < $backup_dir\\\$db_name.sql";
exec("$mysql_restore");
?>
Detta är ingen kod som går att köra rakt av men du har de mest elemntära sakerna som behövs för att laborera fram en sida på egen hand.
Jag vet inte om jag missuppfattar dig eller om jag ställde frågan lite för enkelt!
Vi kan säga att man kanske har en produktkatalog på nätet i en mysql och sedan så vill kunden vara säker på att han har backup för att följa ISO-säkerhets normer.
Hur gör man då för att kunden varje dag/natt får ett mail (förangiven adress såklart) med en dumpad databas tillskickad sig. Kunden skall ju ha det så enkelt som möjligt.
Ja vet att ISP kan plocka fram en gammal om det skulle hända något men fråga du dem så säger de att de inte kan garantera en backup men de gör sitt bästa. Dvs. de frånskriver sig ansvaret från värdet av databasen om du inte tecknar ett avtal på åtskilliga 1000-lappar om året extra. Samt att kunden vill ju vara säker på att han har en aktuell databas-backup likväl som han vill ha backup på annat i sitt lokala nätverk vi ev. datahaveri så man inte gör en "Skattemyndighetare" :-) Men de klarade ju upp det som väl va till slut!
Oavsett vad du vill göra med backup-filen så måste den först skapas, vilket du kan göra m.h.a. ovanstående.
Nu vet inte jag hur mycket du kan göra själv men självklart går det att skicka filen till en e-postmottagare. Det är dock inte så praktiskt om storleken på databasen drar iväg men jag förutsätter att du har koll på läget.
Är det rätt uppfattat om du vill ha en funktion som automatiskt gör en backup av en specifik databas och skickar den till en e-postadress?
I så fall föreslår jag att man gör detta med någon form av shell-skript tillsammans med en schemaläggare.
Hur man gör detta beror på vilken plattform som används och vilken access man har till serverns olika tjänster.
Om det är ett måste att fixa detta m.h.a. av en sida där man klickar på en knapp är det bara att använda PHP:s mail-funktion och skicka filen. Det fungerar förmodligen så länge databasen inte blir för stor men ska detta ske rutinmässigt så bör servern sköta det själv.
Du har rätt, det är en publik server hos en ISP. Det som vill uppfyllas är att backup körs på databasen varje natt och mailas till en förutbestämd mottagare.
Glömde visst bort tråden...
Är det en linuxburk och en tjänst du betalar för så brukar det gå att lösa ganska enkelt såvida det inte är väldigt strikta regler på servern. På windows-maskiner är det värre eftersom det inte är så lätt att schemalägga något utan att be operatören om hjälp.