Avatar billede morell Nybegynder
25. april 2003 - 08:57 Der er 13 kommentarer og
1 løsning

backup af linux.

Jeg har i længere tid brugt følgende script til at tage en backup af vores
webserver om natten:

#!/bin/sh

#stopper MySQL.
/etc/init.d/mysql stop

#så mounter vi vores backup drev på exchsrv.
mount -t smbfs -o username=linuxweb,password=veryverysecret
//exchsrv/linuxbck /mnt/
backup

#filerne fra den sidste backup slettes.
rm -fr /mnt/backup/*

#nu kopieres filerne over på exchsrv.
tar -cvf /mnt/backup/linux_web_backup.tar /etc /home /usr /opt /var /www
/lib /s
bin /bin

#starter mysql.
/etc/init.d/mysql start

#pakker backup'en ned.
gzip /mnt/backup/linux_web_backup.tar

#lister backup filen og skriver output til backup.log
ls -lh /mnt/backup >> /var/log/backup.log

#der lukks for trafik til lan zonen igen.
umount /mnt/backup

Jeg har på det seneste oplevet at backup'en ikke køre igennem. Den laver en
fil på 300 K og går så i stå. Det vil sige at MySQL er stoppet når jeg
kommer på arbejde om morgenen. Jeg har flere gange kørt scriptet manuelt fra
min root prompt og den køre perfekt igennem hver eneste gang! Hvad går der
galt? Kan jeg evt. på en måde få noget mere info om hvorfor at den ikke køre
igennm fra crontab?

min crontab:
10 01 * * 2-6 /etc/init.d/backup

Mvh.
Asbjørn Morell.
Avatar billede mfalck Praktikant
25. april 2003 - 11:52 #1
ja -

10 01 * * 2-6 /etc/init.d/backup >>/tmp/output.txt 2>>/tmp/output.err

nu ligger al output i /tmp/output.txt
og fejl ligger i /tmp/output.err
Avatar billede mfalck Praktikant
25. april 2003 - 11:54 #2
umiddelbart (medmindre det det en copy-paste ting) ville jeg gætte på at fejlen er her:
mount -t smbfs -o username=linuxweb,password=veryverysecret
//exchsrv/linuxbck /mnt/
backup

skal være på een linie
mount -t smbfs -o username=linuxweb,password=veryverysecret //exchsrv/linuxbck /mnt/backup
Avatar billede mfalck Praktikant
25. april 2003 - 12:03 #3
hmm .. tror du må køre cronjobbet for det kan være her oxå :-)

tar -cvf /mnt/backup/linux_web_backup.tar /etc /home /usr /opt /var /www
/lib /s
bin /bin
Avatar billede mfalck Praktikant
25. april 2003 - 12:04 #4
forresten så burde cron sende en mail til root (eller ejeren af cronjobbet) hvor du kan se outputtet fra jobbet.
Avatar billede morell Nybegynder
25. april 2003 - 12:32 #5
Alle linjer står på en linje... det er en copy/paste fejl.
Avatar billede mfalck Praktikant
25. april 2003 - 12:34 #6
okie .. prøv evt at kigge i roots mailbox - eller sætte scriptet til at køre med output.
Avatar billede morell Nybegynder
25. april 2003 - 14:42 #7
ok... det prøver jeg så.
Avatar billede webmasterdk Praktikant
26. april 2003 - 14:19 #8
Bare nysgerrig.. :)
Vil det sige at det ovenstående script virker som det skal?
Avatar billede morell Nybegynder
28. april 2003 - 09:03 #9
Den er kørt en gang igennem... men jeg venter lige et par dage med at lukke tråden. Skal lige være sikker på at det virker.
Avatar billede morell Nybegynder
29. april 2003 - 08:54 #10
Det ser ud til at det køre nu...
Er dette enstandard syntax man altid kan bruge til at finde fejl ved shelscripts?
>>/tmp/output.txt 2>>/tmp/output.err
Hvordan kan programmet vide at det skal sende fejl til output.err?
Avatar billede mfalck Praktikant
29. april 2003 - 09:37 #11
ja det er standard notation

>> betyder at STDOUT bliver smidt ind i /tmp/output.txt (ikke overskriver - hvis du vil have filen overskrevet så bruger du >)

2>> betyder at STDERR bliver smidt ind i /tmp/output.err
Avatar billede mfalck Praktikant
29. april 2003 - 09:37 #12
bare af ren nysgerrighed, hvad var fejlen så ?!!?
Avatar billede morell Nybegynder
29. april 2003 - 10:59 #13
Jeg ved det faktisk ikke.. jeg har ikke ændret på noget udover at tilføje >>/tmp/output.txt 2>>/tmp/output.err til mit cronjob. Det er lidt underligt. :/ Jeg får en advarsel i output.err :
tar: Removing leading `/' from member names
Kan jeg ikke undgå at få den besked?
Avatar billede mfalck Praktikant
29. april 2003 - 11:17 #14
hm ... til kan give tar -p så for du absolutte stier på dine filer.

når mener at scriptet kører igen så kan du overveje at skrive cronjobbet om til:

10 01 * * 2-6 /etc/init.d/backup >/tmp/output.txt 2>/tmp/output.err

så har du kun det sidste output - men så vokser log-filerne sig ikke for store.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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