Avatar billede kornfreak Nybegynder
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 ?
Avatar billede kornfreak Nybegynder
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 ;)
Avatar billede disky Nybegynder
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.
Avatar billede alvion Nybegynder
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
Avatar billede disky Nybegynder
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
Avatar billede kornfreak Nybegynder
06. december 2001 - 15:37 #5
Det er forsåvidt godt nok det der ..ligebortset fra jeg gerne vil ha tømt tabellen igen ?
Avatar billede alvion Nybegynder
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.
Avatar billede disky Nybegynder
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.
Avatar billede disky Nybegynder
06. december 2001 - 15:41 #8
gaaab

jeg tror snart jeg vil hjem jeg er træt
Avatar billede mortenfn Nybegynder
06. december 2001 - 20:57 #9
mysql> SELECT * INTO OUTFILE \'data.txt\'
          FIELDS TERMINATED BY \',\'
          FROM ...;
Avatar billede disky Nybegynder
07. december 2001 - 08:39 #10
morten: hvorfor ikke bruge mysqldump istedet ?
Avatar billede kornfreak Nybegynder
07. december 2001 - 12:26 #11
disky mysql -u root -p PASSWORD -U database < delete from TABEL


Virker ikke ?
Avatar billede disky Nybegynder
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.
Avatar billede kornfreak Nybegynder
07. december 2001 - 12:30 #13
disky >> Og det vil slette tabellen!???
Avatar billede kornfreak Nybegynder
07. december 2001 - 12:31 #14
Eller rettere indholdet
Avatar billede disky Nybegynder
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.

Avatar billede kornfreak Nybegynder
07. december 2001 - 12:39 #16
Okay..tak for hjælpen, du får lige en gang points ;)
Avatar billede disky Nybegynder
07. december 2001 - 12:41 #17
mange tak.

bare spørg hvis der er problemmer. Så skal jeg gerne svare :)
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