Avatar billede michaelb.dk Nybegynder
24. januar 2005 - 15:47 Der er 43 kommentarer og
1 løsning

Automatisk backup

Hej.
Hvad skal jeg bruge for at kunne tage automatisk daglig backup af mysql database?

Hvem kan gøre dette for mig, hvis det virkelig findes? Et program, et hostingfirma etc.
Michael
Avatar billede andersdp Nybegynder
24. januar 2005 - 16:04 #1
Du kan gøre det via et cron-job, hvis dit site ligger på en unix server.

Et rigtigt cron job kræver direkte adgang til serveren, det er de færreste der har det med mindre man har en dedikeret server til sin rådighed.

Man kan snyde med et såkaldt "pseudo-cron" - det kan du læse om her:
http://www.bitfolge.de/pseudocron-en.html
Avatar billede sth Novice
25. januar 2005 - 16:29 #2
jeg har lavet det med et vb-Script, som så kalder en bat-fil, for så tilsidst at omdøbe sqlfilen til noget med dagsdato.

mit vb-Script afvikles så i planlagteopgaver, og vupti.... jeg har en backup af min database som finde hos min udbyder :-)


vil du se det ?

sth
Avatar billede michaelb.dk Nybegynder
25. januar 2005 - 16:31 #3
Hej sth, ja tak jeg kan ikke rigtig følge med i det tekniske dér.
Avatar billede sth Novice
25. januar 2005 - 19:13 #4
ok..

du laver en bil der heder mysqlbackup.bat

denne at følgende indhold:
C:\Inetpub\mysql\bin\mysqldump  -h mysql1.unoeuro.com --user=dit_brugernavn --password=dit_password din_database > "temp.sql"


husk lige at rette C:\Inetpub\mysql\bin\mysqldump så det passer til din egen mysql

opret nu en fil som du kalder mysqlbackup.vbs med følgende indhold:


Dim WshShell
dim filnavn
Dim refFile
dim mywait
mymin = Minute(Now)
myHour = Hour(now)
filnavn= "D:\mysql_backup\"&date&"_"&MyHour&"_"&mymin&"-mysqlbackup.sql" 'danner filnavn med dagsdato og gemmer den i "D:\mysql_backup\mysqlbackup.sql HUSK at rette så det passer til dig
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "mysqlbackup.bat", 1, True
Set refFile = GetObject("winMgmts:CIM_DataFile='d:\mysql_backup\temp.sql'")' HUSK at rette denne linie (d:\mysql_backup\temp.sql)

If refFile.Copy(filnavn) = 0 then
else
    MsgBox " Der opstod en fejl"  'Dette kan medfordel ændres så der sendes en mail hvis der opstod en fejl
end if
Set refFile = Nothing
strFile ="temp.sql"
set fso = createobject("scripting.filesystemobject")
fso.deletefile(strFile)
set fso = nothing


HUSK at rette så det passer til dig selv, altså rette c:\..... osv.
Avatar billede sth Novice
25. januar 2005 - 19:17 #5
hov

Når du så vil test det køre du mysqlbackup.vbs

og ikke mysqlbackup.bat da denne fil jo bare henter en backup, så den filen får samme navn hverdag oge det er jo ikke det vi lige vil, vel ?

så det der sker at at mysqlbackup.vbs finder ud af hvad den nye backup skal hede, starter mysqlbackup.bat  og omdøber så filen temp.sql til noget med dags dato og så mysqlbackup.sql
herefter slettes temp.sql

og programmet er færdig
Avatar billede sth Novice
26. januar 2005 - 20:59 #6
hvaaaa har du testet  det  ?
Avatar billede michaelb.dk Nybegynder
26. januar 2005 - 21:03 #7
hej sth, har ikke testet endnu, har simpelthen haft så dårlig tid. Jeg kigger på det snarest, og sørger for at spørgsmålet ikke står for længe åbent. Jeg vender tilbage
Avatar billede michaelb.dk Nybegynder
01. marts 2005 - 18:26 #8
Så har jeg langt om længe fået tid.
Har imidlertid nogle spørgsmål!

Hvad skal jeg ændre "C:\Inetpub\mysql\bin\mysqldump" til, hvad skal der være i den mappe?

Hvad skal jeg skrive i din_database > "temp.sql", skal jeg skrive databasens navn, for så går jeg ikke udfra at .sql skal være med?

D:\mysql_backup\ - er det dér jeg vil have dumpet til at ligge?

'd:\mysql_backup\temp.sql' hva med den?

Håber du vil svare, selvom jeg er ret forsinket :)
Avatar billede sth Novice
05. marts 2005 - 15:01 #9
Hvad skal jeg ændre "C:\Inetpub\mysql\bin\mysqldump" til, hvad skal der være i den mappe?

SVAR: det er der du har din MYSQL, du har vel mysql på din pc ? eller har du den kom hos du udbyder ?, jeg tror faktisk at den default er sat til C:\Inetpub\mysql\bin\mysqldump
temp.sql er bare et filnavn, som backup'en gemmes i inden vi gemmer den med dato og kl.

Hvad skal jeg skrive i din_database > "temp.sql", skal jeg skrive databasens navn, for så går jeg ikke udfra at .sql skal være med?
SVAR: ja det er navnet på din database

D:\mysql_backup\ - er det dér jeg vil have dumpet til at ligge?
SVAR: ja det er rigtig
'd:\mysql_backup\temp.sql' hva med den?
den bliver slettet i de sidste 4 linier.

Skriv igen hvsi det giver dig problemer
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 15:20 #10
Hej igen.
Tak for svar.

Ja mysql databasen ligger hos min udbyder, og den backup de tilbyder er reduceret til enkelte filer og ikke mysql databaser!
Avatar billede sth Novice
05. marts 2005 - 15:22 #11
jeg kunne jo lige prøve at sende dig filen mysqldump, det er en exe fil så om det virker uden at man har mysql på sin pc ved jeg ikke , hvad er din mailadresse
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 15:34 #12
michael@michaelb.dk
Avatar billede sth Novice
05. marts 2005 - 15:52 #13
jeg har sendt
Avatar billede sth Novice
05. marts 2005 - 15:52 #14
jeg har testet og det virker :-)
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 16:08 #15
Hvad skal der stå ved C:\Inetpub\mysql\bin\mysqldump
Avatar billede sth Novice
05. marts 2005 - 16:13 #16
lad os antage at du har lavet en mappe på dit C-drev der heder mysql
så skal der stå: C:\mysql\mysqldump
Avatar billede sth Novice
05. marts 2005 - 16:17 #17
har du skype, så kan jeg hlælpe dig den vej
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 16:20 #18
Koden ser nu således ud:

C:\mysqlbackup\mysqldump  -h mydb2.surftown.dk --user=Michae3_forum --password=CENSORERET halstat_dk_db > "Michae3_miniBB.sql"

Har desværre ikke skype, men msn: michaelb@lite.dk
Avatar billede sth Novice
05. marts 2005 - 16:26 #19
ok halstat_dk_db skal ændres til din egen database
du skulle overveje at få skype :-)
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 16:31 #20
Ja jeg havde skype en overgang, men min microfon er lidt dum i det i øjeblikket ;) Men udmærket program!

Den laver en fil Michae3_miniBB.sql i samme mappe som scriptet ligger, men filen er på 0kb og der sker ikke noget i C:\mysqlbackup
Avatar billede sth Novice
05. marts 2005 - 16:38 #21
er dit brugernavn og passwoed rigtig
brugernavn: Michae3_forum
password=CENSORERET , regner med at du har et andet og at du lige har skrevet CENSORERET  for at alle ikke skal lege med

lidt kort fortalt kan man sige at du skal skrive det du skriver i din kode (hvis du både har en kode til admin og en til dine bruger så skal du bruge det til admin)
Avatar billede sth Novice
05. marts 2005 - 16:44 #22
jeg har lige lavet en mini test... hvis jeg skriver mit password eller bruger navn forkert får jeg også en fil der er nul i størrelse, hvis jeg der imod skriver navnet på min data base forkert får jeg en fil det indeholder følgende:

-- MySQL dump 9.08
--
-- Host: mysql1.unoeuro.com    Database: mindatabase_skrevet_forkert
---------------------------------------------------------
-- Server version    4.0.18-standard-log
Avatar billede sth Novice
05. marts 2005 - 16:46 #23
Når du har fået din bat-fil til at virke skal du jo lige huske at du skal bruge starte vbs-filen (den vil så kalde din bat fil) på den måde bliver der dannet en sql-fil for hvergang du køre vbs-filen
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 16:56 #24
ka godt nok ikke få det til at virke :(
Avatar billede sth Novice
05. marts 2005 - 17:05 #25
Hmmm... så ved jeg ikke det virker hos mig, er det sådan at du tør sende det hele til mig på mail, så skal jeg se på det, men det betyder jo selvf. at jeg skal have password og brugernavn og databasenavn og udbyder
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 17:08 #26
Kan prøve det, ja
Avatar billede sth Novice
05. marts 2005 - 17:21 #27
ok men jeg har ikke modtaget noget !
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 17:35 #28
Prøver at sende igen
Avatar billede sth Novice
05. marts 2005 - 18:02 #29
har set på det og sendt retur
og jeg hra det til at virke

sth
Avatar billede michaelb.dk Nybegynder
05. marts 2005 - 19:09 #30
Jeg poster indholdet af filerne senere.
Men nu fungerer det hele.
Avatar billede sth Novice
05. marts 2005 - 19:10 #31
har lige sendt dig en opdatering
Avatar billede michaelb.dk Nybegynder
29. december 2005 - 13:45 #32
Hej sth, hvis du læser med her, vil jeg blive utrolig glad hvis du ville kontakte mig, min computer brændte sammen, og jeg kan ikke få mysql backuppen op at køre igen :-( På forhånd mange tak!
Avatar billede sth Novice
29. december 2005 - 14:40 #33
hej
jeg er lige her, har du skype ?
Avatar billede michaelb.dk Nybegynder
29. december 2005 - 14:45 #34
Åh, goddag igen! Jeg har stadig ikke fået anskaffet mig en mikrofon der virker, så indtil videre bruger jeg kun msn michaelb@lite.dk - eller alm. mail michael@michaelb.dk
Avatar billede sth Novice
29. december 2005 - 14:49 #35
er problemet at du ikke kan få din *.sql fil læst ind igen ?

hvis ja da prøv

start med at døbe din sql fil om til dump.sql for jeg ved ikke om den må indeholde mellemrum og osv.
Flyt så dump.sql over til det katalog hvor du har mysql liggende
kør så  mysql --user='user --password='password' < dump.sql
Avatar billede michaelb.dk Nybegynder
29. december 2005 - 14:58 #36
jeg kan sagtens få læst filen, og den bliver også oprettet og slettet igen (til fordel for "&date&"_"&MyHour&"_"&mymin&"-mysqlbackup.sql) men den indeholder ikke noget? Samme problem som vi havde ovenfor.
Avatar billede sth Novice
29. december 2005 - 15:11 #37
ok, vil du sende mig filerne på en mail så skal jeg se på dem, skriv til mig på game1@halstat.dk (er en mailadresse jeg bruger til at oplyse på nettet)

men pak det lige i en zip fil
Avatar billede sth Novice
29. december 2005 - 15:13 #38
fortæl mig lige i hvilket katalog du har lagt mysql
Avatar billede michaelb.dk Nybegynder
29. december 2005 - 15:49 #39
Jeg fik mailen tilbage:
<halstat@gmail.com>: host gmail-smtp-in.l.google.com[72.14.205.27] said: 552
    5.7.0 Illegal Attachment f12si1937888qba (in reply to end of DATA command)
Avatar billede sth Novice
29. december 2005 - 17:45 #40
ok det er fordi at jeg har en gmail adressesom jeg videresender alt min mail til (som backup) men det var ikke pænt af dig at skrive min mailadresse her, jeg gider ikke alt det spam, grunden til at jeg havde lavet en der heder game1@halstat.dk er den at den kan jeg så bare slette hvis der kommer for meget spam i gennem den.

Så men jeg har svaret dig jeg tro at du mangler  mysqldump.exe jeg har sendt den til dig, lad høre fra dig når der er noget nyt
Avatar billede michaelb.dk Nybegynder
29. december 2005 - 17:56 #41
nåhh åhh jeg undskylder mange gange, det var ikke en god tak jeg gav dig :-( Jeg var ikke klar over at det var din egentlige email, jeg troede faktisk bare at det var en mailserver (gmail.com) men det ku jeg jo godt have regnet ud at det ikke var! Det er sgu ufedt, når man gør så meget for at undgå spam, at andre ødelægger det for en, skal vi forsøge at få slettet tråden efterfølgende?

Problemet VAR desuden at jeg manglede mysqldump.exe, ligesom sidst!! Hehe, den lå heller ikke blandt backup filerne! Men nu fungerer det igen, du skal have mange tak for hjælpen endnu engang!
Avatar billede sth Novice
29. december 2005 - 21:26 #42
det er i orden du er tilgivet, kan du have et rigtig godt nyt år.
Og hvis der bliver noget en anden gang , er du selvf. velkommen til at skrive til mig igen
Avatar billede michaelb.dk Nybegynder
29. december 2005 - 21:31 #43
Tusind tak og i lige måde!
Avatar billede sth Novice
29. december 2005 - 23:50 #44
så lidt :-)
sth
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester