• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Amanda Backup automatisieren

Rain-Air

Newbie
Habe ein Amanda-Backup, welches soweit auch läuft.
Nun würde ich es gerne sowiet automatisieren, dass ich Abends meinen Backup-Rechner einschalte und dieser dann sofort mit dem backup anfängt.
so könnte ein script dafür aussehen:

su amanda
amdump DailySet1
exit
mt -f /dev/st0 eject
shutdown -h now

Damit der Rechner jetzt nicht (sollte das amdump mal nicht funktionieren) sofort nach dem Start wieder runterfährt, hätte ich gerne noch eine benutzerabfrage vor dem shutdown, oder noch besser eine abfrage vor dem amdump, die das ganze stopt, wenn z.b. kein, oder das falsche tape eingelegt ist.

sinngemäß könnte das so aussehen:

amcheck DailySet1 > $status

if $status != 0 then "fehlermeldung und abbruch"

das setzt allerdings voraus, dass amcheck irgendwas zurückgiebt... ich weiß, dass es z.b. mit der option -m nur dann eine mail schickt, wenn ein Fehler (z.b. falsches tape) beim ckeck auftrit. Wie kann ich eine etwaige Rückgabe des Programms in eine Variable umleiten?
Die Statusmeldung über die Erreichbarkeit der zu sichernden Laufwerke kann ich mir in eine Variabel umleiten lassen, ich bräuchte aber irgendwie sowas wie true oder false...

Kennt sich jemand damit aus? :shock:
Ich habe noch nicht so viel Ahnung von Scripten...
 
A

Anonymous

Gast
Hi,
sollte per errorlevel gehen ^^
Beispiel:

ls test.txt;errorlevel=`echo $?`;echo $errorlevel

sollte wenn es die datei test.txt gibt den errorlevel 0 liefern, und wenn nicht dann 1 ! Genauso geben die meisten Programme ein errorlevel zurueck !
Fazit echo $? liefert den errorlevel des zuvorabgesetzten Befehls ;-)

Hoffe das hilft Dir weiter!?

Mƒg ®êïñï

Faellt mir grad noch ein #gg#
amcheck DailySet1 || echo "fehlermeldung und abbruch"
im gegensatz zu
amcheck DailySet1 && echo "jetzt gehts weiter alles ok"
waere auch ne Moeglichkeit #grins#
 
OP
R

Rain-Air

Newbie
Danke, dein Hinweis hat mir geholfen. jetzt gehts!
Script sieht folgendermaßen aus:


#!/bin/bash
echo "Backup wird gestartet. Dies kann mehrere Stunden dauern"
echo "run amcheck"
su -c "amcheck -m DailySet1" amanda
errorlevel=`echo $?`

if [ $errorlevel != 0 ]
then
echo "Errorlevel = $errorlevel -> amcheck fail"
echo "Backup nicht, moeglich siehe Reportmail"
exit 1
else
echo "Errorlevel = $errorlevel -> amcheck success"
su -c "amdump DailySet1" amanda
mt -f /dev/st0 eject
shutdown -h now
fi


kurz noch ein paar Kommentare:

su -c "amcheck -m DailySet1" amanda
su -c befehl user
startet einen befehl unter anderem benutzer
mit der option -m sendet amcheck eine mail (adresse aus amanda.conf) bei fehlern

errorlevel=`echo $?`
amcheck gibt einen wert zurück dieser wird hier in die variable errorlevel übertragen. bei fehlern 1 sonst 0

mt -f /dev/st0 eject
Tape wird ausgeworfen

shutdown -h now
Rechner wird runtergefahren
 
Oben