Backuptscript feinschlief

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
slu
Beiträge: 2236
Registriert: 23.02.2005 23:58:47

Backuptscript feinschlief

Beitrag von slu » 26.04.2008 22:18:22

Hallo,

ich bin mal wieder am Scripten und hab ein paar Fragen.

Code: Alles auswählen

#!/bin/bash
sicherungsdatum=`/bin/date`
rsync -abv --delete --backup-dir=/home/slu/Desktop/change /home/slu/Desktop/backup_source /home/slu/Desktop/backup
tar -cjpf /home/slu/Desktop/change/archiv/backup-"$sicherungsdatum".tar.bz2 /home/slu/Desktop/change/backup_source
rm -vr /home/slu/Desktop/change/backup* 
exit
Ich möchte das noch mit Sicherungsplatten mounte und umounten aufboren (das ist kein Problem).

- Unschön ist nun das es bei keiner Änderung zu einem Fehler kommt und einem leeren Archiv weil ja rsync nichts sichert und tar nichts findet.

- Das ganze soll jede Nacht per Cronjob laufen, leider kommt es manchmal vor das versehentlich Ordner verschoben werden und da eine mega archiv entstehen würde.
Ist es möglich das Script nach einer bestimmten Zeit abzubrechen?

Vieleicht haben die Profis einen Tip für mich...
Gruß
slu

Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.

Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER

pluvo

Re: Backuptscript feinschlief

Beitrag von pluvo » 26.04.2008 22:45:07

Hallo slu,

ich kann dir nicht direkt weiterhelfen, aber ich habe trotzdem ein Tipp für dich. Ich weiß nicht mehr wo ich es im Internet gelesen habe, allerdings sollte man lieber mit der Variante $(foobar) die Ausgabe eines externen Programmes abgreifen, anstatt mit dem Backtick-Konstrukt `foobar`.

Code: Alles auswählen

sicherungsdatum=$(date)
Und außerdem sieht es doch netter aus :mrgreen:

Übrigens: Kennst du diese Ausgabe?

Code: Alles auswählen

pluvo@osiris:~$ date -I
2008-04-26
mfg pluvo :)

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Backuptscript feinschlief

Beitrag von roli » 27.04.2008 10:00:52

Hi,
slu hat geschrieben:- Unschön ist nun das es bei keiner Änderung zu einem Fehler kommt und einem leeren Archiv weil ja rsync nichts sichert und tar nichts findet.

- Das ganze soll jede Nacht per Cronjob laufen, leider kommt es manchmal vor das versehentlich Ordner verschoben werden und da eine mega archiv entstehen würde.
Ist es möglich das Script nach einer bestimmten Zeit abzubrechen?
Ich würde hier die Groesse des Verzeichnisses (du --max-depth=1) ermitteln. Anschliessend kannst du eine Abfrage machen, wenn Groesse=0 dann Fehler, wenn Groesse>"mega archiv" dann Fehler, sonst lauf los.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

slu
Beiträge: 2236
Registriert: 23.02.2005 23:58:47

Re: Backuptscript feinschlief

Beitrag von slu » 11.05.2008 20:12:05

Hallo,

danke für eure Antworten.
Tar läuft auf der Maschine recht schnell, womit ich mich um die grösse (noch) nicht sorgen brauch.

Nervig ist im moment noch das wenn es keine Änderungen gibt tar trotzdem losläuft und ein leeres Archiv macht.
Dazu müsste ich überprüfen ob der Ordner da ist, wie kann ich das am besten machen?
/bin/tar: Removing leading `/' from member names
/bin/tar: /mnt/backup_archiv/www: Cannot stat: No such file or directory
/bin/tar: Error exit delayed from previous errors
/bin/rm: cannot remove `/mnt/backup_archiv/www': No such file or directory
Desweitern such ich immer noch nach einer Lösung die maximale Zeit des Scriptes zu begrenzen, im moment würde mir nur ein weiterer Cronjob mit einer if und kill Verknüpfung einfallen, gibts da einen schöneren Weg?

EDIT:
Für das Überprüfen wurde ich nun fündig

Code: Alles auswählen

if [ -d /mnt/backup_archiv/www ]
then
echo "vorhanden, tar hier einbauen"
else
echo "nicht vorhanden, kein tar erstellt"
fi
Gruß
slu

Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.

Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER

Antworten