(Ubuntu)Backup script Cron job werkt niet naar behoren.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goede middag,

wij hebben hier op kantoor een servertje draaien voor het testen van web applicaties. Een tijdje terug besloten we (na een hard drive crash) een backup faciliteit in te bouwen, namelijk een cron job die wekelijks data wegschrijft naar een USB stick. Dit scriptje werkt niet helemaal naar behoren, in het script staat dat er een dagelijkse incrementele backup moet gebeuren, en elke week een volledige.

Alleen, voor een of andere reden maakt het script geen nieuwe backups aan. Ik heb gegoogled op cron jobs, en een aantal voorbeeld scripts geraadpleegt, maar gezien mijn (ik moet toegeven, gelimitieerde kennis) van linux en vooral scripts zoals deze, ben ik ten einde raad. Dus mijn hoop is dat er misschien een tweaker hier rond hangt die mij kan helpen bij het vinden van de oplossing!

Het script :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
#
# creates backups of essential files
#
DATA="/home /var/www"
CONFIG="/etc /var/lib"
LIST="/tmp/backlist_$$.txt"
#
#mount /mnt/usb_stick
set $(date)
#
if test "$1" = "Sun" ; then
        # weekly a full backup of all data and config. settings:
        #
        tar cfz "/mnt/usb_stick/data/data_full_$6-$2-$3.tgz" $DATA
        rm -f /mnt/usb_stick/data/data_diff*
        #
        tar cfz "/mnt/usb_stick/config/config_full_$6-$2-$3.tgz" $CONFIG
        rm -f /mnt/usb_stick/config/config_diff*
else
        # incremental backup:
        #
        find $DATA -depth -type f \( -ctime -1 -o -mtime -1 \) -print > $LIST
        tar cfzT "/mnt/usb_stick/data/data_diff_$6-$2-$3.tgz" "$LIST"
        rm -f "$LIST"
        #
        find $CONFIG -depth -type f  \( -ctime -1 -o -mtime -1 \) -print > $LIST
        tar cfzT "/mnt/usb_stick/config/config_diff_$6-$2-$3.tgz" "$LIST"
        rm -f "$LIST"
fi
#
# create sql dump of databases:
mysqldump --user=root --password= --opt --all-databases > "/mnt/usb_stick/database/mydb_$6-$2-$3.sql"
gzip "/mnt/usb_stick/database/mydb_$6-$2-$3.sql"
#
#umount /mnt/usb_stick

[ Voor 0% gewijzigd door Verwijderd op 06-05-2008 15:46 . Reden: Code-tags om de code voor de leesbaarheid :) ]


Acties:
  • 0 Henk 'm!

Verwijderd

USB-sticks kunnen niet onbeperkt beschreven worden, ik raad je dan ook aan om een externe-usb schijf te gebruiken, of een netwerk share (van een andere server)

dat terzijde, wat voor foutmeldingen krijg je als je zelf het script uitvoerd?

Acties:
  • 0 Henk 'm!

Verwijderd

Wat doet het script nu wel? Zoals ik uit je verhaal begrijp maakt het script één tarbal aan, met de backup van die dag er in, en ik neem aan ook met de naam van het bestand als de dag dat het script draait. En het script blijft steeds hetzelfde bestand overschijrven met de nieuwe backup?

Mischien moet je toch kiezen voor een simpelere oplossing, heb je ooit gehoord van Samba? Je zou een windows share kunnen maken en deze share gewoon toe kunnen voegen op de locale domain controller in het backupscript daar.

Acties:
  • 0 Henk 'm!

  • berties
  • Registratie: Januari 2000
  • Laatst online: 22:39
Waarom staat het mounten en unmounten van de usb drive naar de map /mnt/usb_stick commented out? Met andere woorden waarom staat de mount en umount er wel in maar met een # ervoor waardoor het niet uitgevoerd wordt. En staat je usb drive ook als /mnt/usb_stick in /etc/fstab ?

Niet dat ik er voor ben om een kant en klaar product als vervanging aan te bieden voor een niet werkend script (het oplossen van fouten is veel leerzamer! ;) ) maar je zou eens kunnen kijken naar backup2l. Kant en klaar, werkt super en heel eenvoudig, maar er zijn genoeg andere alternatieven voor.

edit; Haal even je loginnaam en wachtwoord weg uit de mysqldump!

edit2; Het script werkt hier prima, als /mnt/usb_stick bestaat. Kijk ook even wat de output is van "date" op je commandline.

[ Voor 13% gewijzigd door berties op 06-05-2008 15:44 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor de reacties, ter beantwoording van de vragen :

rvanleeuw : USB stick kan een paar 10 duizenden keren worden herschreven, meer dan genoeg voor iets wat een handvol keer per week word beschreven :) (en is goedkoper dan een HD). Naar een netwerkschijf is geen optie, gezien het de enige server is hier, en alle PC's uit staan in de nacht.

Ragingbull : Hij maakt 2 files aan, een incrementele backup dagelijks, en een volledige elke week, hij maakt elke keer een nieuw bestand aan , en wiste de oude elke week om de stick schoon te houden.

En ja, Samba ken ik wel . Tis alleen compleet niet nodig om naar een Domain controller te schrijven sinds we niet eens een domain controller hebben! :p Gezien het hele bedrijf bestaat uit 3 man + 2 stagiares, is dat ook niet echt nodig.

Berties : Hmm, volgens de dude die de opzet van het script gemaakt heeft, heeft die dat zo gedaan om dat die er een error op kreeg. De stick is idd al gemount onder /usb_stick. Ik zal kijken naar backup2, maar idd problemen oplossen leer je meer van.

En het script draait ook wel prima, de eerste keer. Alleen bij een volgende keer, maakt hij geen backup aan. Ik vermoed dat hij de zeep in gaat zodra hij probeert de backup van de vorige keer te verwijderen. Ik zal even verder snuffelen naar voorbeelden van scripts.

in ieder geval bedankt voor jullie reacties!

Acties:
  • 0 Henk 'm!

  • berties
  • Registratie: Januari 2000
  • Laatst online: 22:39
Verwijderd schreef op dinsdag 06 mei 2008 @ 15:56:
Bedankt voor de reacties, ter beantwoording van de vragen :

rvanleeuw : USB stick kan een paar 10 duizenden keren worden herschreven, meer dan genoeg voor iets wat een handvol keer per week word beschreven :) (en is goedkoper dan een HD). Naar een netwerkschijf is geen optie, gezien het de enige server is hier, en alle PC's uit staan in de nacht.

Ragingbull : Hij maakt 2 files aan, een incrementele backup dagelijks, en een volledige elke week, hij maakt elke keer een nieuw bestand aan , en wiste de oude elke week om de stick schoon te houden.

En ja, Samba ken ik wel . Tis alleen compleet niet nodig om naar een Domain controller te schrijven sinds we niet eens een domain controller hebben! :p Gezien het hele bedrijf bestaat uit 3 man + 2 stagiares, is dat ook niet echt nodig.

Berties : Hmm, volgens de dude die de opzet van het script gemaakt heeft, heeft die dat zo gedaan om dat die er een error op kreeg. De stick is idd al gemount onder /usb_stick. Ik zal kijken naar backup2, maar idd problemen oplossen leer je meer van.

En het script draait ook wel prima, de eerste keer. Alleen bij een volgende keer, maakt hij geen backup aan. Ik vermoed dat hij de zeep in gaat zodra hij probeert de backup van de vorige keer te verwijderen. Ik zal even verder snuffelen naar voorbeelden van scripts.

in ieder geval bedankt voor jullie reacties!
Laat even weten wat de output is van het script, wat gebeurt er als je het script uitvoert....
Laat ook even weten wat de output is van "date" op de commandline.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
berties schreef op dinsdag 06 mei 2008 @ 16:00:
[...]

Laat even weten wat de output is van het script, wat gebeurt er als je het script uitvoert....
Laat ook even weten wat de output is van "date" op de commandline.
Mjah, volgens Webmin word er geen log gemaakt van de activeiten van Cron. Wat natuurlijk niet echt handig is. En de datum op het systeem is wel correct. net zoals de tijd.

Acties:
  • 0 Henk 'm!

Verwijderd

"Ik vermoed dat hij de zeep in gaat zodra hij probeert de backup van de vorige keer te verwijderen. Ik zal even verder snuffelen naar voorbeelden van scripts."

voer het dan is een paar keer met de hand uit, zo moeilijk is dat toch niet...

en post hier ff stdoutput.. oftewel wat er uit komt

Acties:
  • 0 Henk 'm!

  • TimDJ
  • Registratie: Februari 2002
  • Laatst online: 20:09
ik gebruik hetzelfde script als jij en op een of andere manier haalt ie niet de vorige full-backup weg bij een nieuwe. Hierdoor zit je waarschijnlijk snel zonder ruimte. Heb nog geen tijd gehad om het op te lossen! maar ik ga nu even kijken

edit:
:o op een of andere manier... zit gewoon niet in script :)

zeker dat je genoeg schijfruimte hebt?

[ Voor 18% gewijzigd door TimDJ op 06-05-2008 17:20 ]

Freelance Drupal Developer


Acties:
  • 0 Henk 'm!

  • Vaan Banaan
  • Registratie: Februari 2001
  • Niet online

Vaan Banaan

Heeft ook Apache ontdekt

En hoe ziet de regel in de cron er uit? Misschien dat die niet goed is ingesteld.
2 keer het script achter elkaar op de CLI uitvoeren heeft trouwens geen zin, aangezien de bestandsnaam gelijk blijft (Op dit moment data_diff_2008-May-6.tgz) Hooguit zie je aan de tijd dat de file bijgewerkt is.
@FAD: Dat de volledige backups blijven bestaan is logisch, alleen de incrementals worden na een full verwijderd.
Als dat het probleem is, dan moet je bij de full voor de tar-acties een regeltje maken die erg oude bestanden verwijderd.

500 "The server made a boo boo"


Acties:
  • 0 Henk 'm!

  • berties
  • Registratie: Januari 2000
  • Laatst online: 22:39
Goed nog 1 keertje dan;

Voer op de commandline eens het programma uit en geef dan hier aan wat er aan output uit het programma komt. Als je niet weet wat ik (en andere) hiermee bedoelen....je gebruikt bijvoorbeeld alleen webmin en hebt geen idee hoe de linux bak voor de rest werkt....geef dat dan aan, maar negeer niet de antwoorden (nofi).
Voor ook het commando "date" eens uit op de commandline en geeft daarvan de uitput hier even aan.
Pagina: 1