06. december 2001 - 14:26
Der er
16 kommentarer og 1 løsning
Scheduled script der dumper data!
Jeg har en linux server (Red Hat 7.0) som kører nogen webs og noget mysql etc. Jeg skal bruge et script der dumper en mysql tabel til en tekstfil (f.eks /home/backup/dato-tabel.txt) og bagefter tømmer tabellen ?
Annonceindlæg fra Barco
06. december 2001 - 14:27
#1
Og det skal selvfølgelig køre automatisk f.eks 2 gange i måneden eller 1 gang i ugen ;)
06. december 2001 - 14:31
#2
lav følgende i din crontab: (kører kl 0400 hver nat) 01 04 * * * /root/scripts/backup.sh og scriptet er sådanne her: #!/bin/sh mysqldump --user=root --password=PASSWORD DATABASE > /root/testtre-backup.sql cd /root rm -f /usr/local/resin-2.0.2/log/testtre.sql.zip zip /usr/local/resin-2.0.2/log/testtre.sql.zip testtre-backup.sql > /dev/null rm -f /root/testtre-backup.sql Den pakker så dumpet som en zip fil. Så kan du bare tilføje den skal droppe tabellerne bagefter hvis du ønsker det.
06. december 2001 - 15:32
#3
Må jeg foreslå at tilføje en option? --add-drop-table mysqldump --user=root --password=PASSWORD --add-drop-table DATABASE > /root/testtre-backup.sql
06. december 2001 - 15:35
#4
god ide :) hvis man virkeligt ønsker at droppe dem. Men så skulle man nok fyre et andet script af der opretter de tomme tabeller igen
06. december 2001 - 15:37
#5
Det er forsåvidt godt nok det der ..ligebortset fra jeg gerne vil ha tømt tabellen igen ?
06. december 2001 - 15:40
#6
Ehm... Nej disky, det er ikke det \"--add-drop-table\" gør --add-drop-table indsætter en sqlkommando i filen, der sikrer at man ikke får en fejl, hvis man prøver at indsætte den dumpede fil og tabellerne findes i forvejen.
06. december 2001 - 15:41
#7
tilføj det alvion sagde så forsvinder dine tabeller. ellers fyr dette script af: mysql -uroot -pPASSWORD < delete from TABEL Hvor tabel er den tabel eller de tabeller du ønsker data slettet fra.
06. december 2001 - 15:41
#8
gaaab jeg tror snart jeg vil hjem jeg er træt
06. december 2001 - 20:57
#9
mysql> SELECT * INTO OUTFILE \'data.txt\' FIELDS TERMINATED BY \',\' FROM ...;
07. december 2001 - 08:39
#10
morten: hvorfor ikke bruge mysqldump istedet ?
07. december 2001 - 12:26
#11
disky mysql -u root -p PASSWORD -U database < delete from TABEL Virker ikke ?
07. december 2001 - 12:29
#12
okay jeg var træt i går :( Prøv med: mysql -u root -p PASSWORD -U database < DumbFilNavn.sql Hvor DumpFilNavn.sql er navnet på den fil mysqldump har lavet.
07. december 2001 - 12:30
#13
disky >> Og det vil slette tabellen!???
07. december 2001 - 12:31
#14
Eller rettere indholdet
07. december 2001 - 12:33
#15
arg, hjælp snork. jeg er også træt idag :( Okay for at slette indholdet i en tabel, uden at gå ind i sql skriver du: mysql -u root -p PASSWORD -U database < delete from TABEL hvor TABEL er navnet på den tabel du vil tømme Hvis du vil restore dit dump skriver du: mysql -u root -p PASSWORD -U database < DumbFilNavn.sql Hvor DumpFilNavn.sql er navnet på den fil mysqldump har lavet.
07. december 2001 - 12:39
#16
Okay..tak for hjælpen, du får lige en gang points ;)
07. december 2001 - 12:41
#17
mange tak. bare spørg hvis der er problemmer. Så skal jeg gerne svare :)
Computerworld tilbyder specialiserede kurser i database-management