Avatar billede edelbo Nybegynder
23. oktober 2003 - 08:06 Der er 7 kommentarer

Bat fil til auto backup

Jeg har ikke mulighed for at benytte Cron på mit webhotel, så derfor har jeg brug for en anden løsning, så jeg dagligt kan foretage backup af min mySQL database.

Derfor har jeg tænkt på, om man kunne lave en .bat fil, som blev kørt via planlagte opgaver fra min egen pc, som loggede ind på min database ved webhosten og lavede backuppen.

Kan dette lade sig gøre, og hvordan??
Avatar billede kobbernagel Nybegynder
23. oktober 2003 - 08:28 #1
Du skal være sikker på at du kan have afgang til din mySQL udefra. Det er de færeste webhoteller som tilbyder det.

Hvis du har denne adgang skal du downloade mysql (www.mysql.com) og indstallere client delen. Hent også arj pakkeprogrammet.

Du kan så bruge følgende bat fil. Denne bat fil kommer du så i din opgaveplanlægning. $blahblah$ skal erstattes med de relevante oplysninger. arj sørger for at lave en backup med dags dato på.

---MYSQL.BAT---
c:\mysql\bin\mysqldump -h $HOST$ -u $USERNAME$ -p $PASSWORD$ --add-drop-table --add-locks $DATABASENAME$ > $databasename$.sql

c:\mysql\bin\arj a -h# -h$ day_.arj $databsename$.arj

del $databasename$.sql
---MYSQL.BAT /END---
Avatar billede edelbo Nybegynder
23. oktober 2003 - 08:29 #2
Hvordan tjekker jeg så lige om jeg har adgang udefra??
Avatar billede xyborx Nybegynder
23. oktober 2003 - 08:33 #3
Der står nok på deres website (fx i en FAQ eller lignende) om der er adgang til det. Ellers kan du jo bare prøve. Hvis det virker, så virker det :)
Avatar billede edelbo Nybegynder
23. oktober 2003 - 08:35 #4
Jeg benytter wannafind.dk hvis det siger dig noget...

Der findes ikke andre måder som man kan lave den backup på?
Avatar billede Brian Moos Lindberg Praktikant
23. oktober 2003 - 11:42 #5
Du kunne jo lade din kode, på de sider der opdaterer databasen, checke hvornår der sidst er lavet backup (vha et felt i databasen eller noget ) og så lave dumpet og sende til din e-mail.

Det virker umiddelbart ikke som nogen god ide, men det er en mulighed... - hvis altså databasen bliver opdateret jævnligt...

/Brian.
Avatar billede edelbo Nybegynder
23. oktober 2003 - 12:18 #6
OK, hvordan laver jeg lige dette?? Det er en webshop, så den bliver opdateret ofte...
Avatar billede Brian Moos Lindberg Praktikant
24. oktober 2003 - 11:43 #7
Jeg er ikke helt stiv i php's dato-funktioner, men det må være muligt at lave et felt i databasen - måske således:

CREATE TABLE `backup` (
`dato` DATE NOT NULL ,
`result` INT NOT NULL
);

- og så kunne man jo lave en fil med navnet backup.inc.php med følgende indhold: (pseudo-et-eller-andet...;-)

<?
hent dato i serverland
hent data i tabellen 'backup' for aktuel dato
findes de ikke så gør følgende:
opret mysql_dump
send mysql_dump til email-adresse
opret felt i databasen med dato for sidste backup og status (fejl eller ok)
?>

include eller require backup.inc.php i toppen af alle sider på dit site.

Jeg ved ikke om du kan bruge det til noget, - men det er da et forslag.
/Brian
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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