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

Datenbackup per DDS-Streamer - Backupskript richtig?

Hi,

ich habe ein Backupsscript geschrieben, das auf einem Server eine Datensicherung durchführen soll. Auf dem Server läuft OpenSuse 11.1 mit VM-Ware Server und Samba.
Ich bekomme immer eine Fehlerausgabe, das das Backup nicht richtig erstellt wurde. Ist vielleicht etwas am Skript falsch?


Wäre schön wenn Ihr mal einen Blick drauf werfen könntet.


Code:
#!/bin/sh
#set -x

Date=` date +%c` 

#data
dat=/backup-`date +%A_%d_%b_%Y`.tar
log=/srv/www/htdocs/log/backup/backup.log
###########################################################

logger -s -t  Backup gestartet
#/etc/init.d/smb stop
#/etc/init.d/vmware stop
vmware-vim-cmd vmsvc/power.off 16
echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
echo "Backupscript"
echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
echo $Date 
echo ""
echo "Launching Backup-Program..."
sleep 1
echo "Erasing DDS5 Band!"
sleep 3
	mt -f /dev/st0 erase
echo "Creating  backupset on $backupdir ..."
sleep 3
	tar -cf /dev/st0 /root /samba /home /etc /usr/local 
	sleep 2

sleep 3
echo "Verifing created Backupset" 
	tar -C / -df /dev/st0 
	if [ $? = 0 ]
	then
	/etc/init.d/smb start
	    logger -s -t Backup erfolgreich beendet 
	    echo "Backup wurde korrekt erstellt am:  `date +%A-%d-%b-%Y-%R`" >> /srv/www/htdocs/log/backup/backup.log
	    echo $Date >> /srv/www/htdocs/log/backup/backup.log
	    echo ------------ >> /srv/www/htdocs/log/backup/backup.log
	    vmware-vim-cmd vmsvc/power.on 16	    
else 
	/etc/init.d/smb start
#	/etc/init.d/vmware start

	    logger -s -t Backup mit Error beendet
	    echo "Fehler beim Erstellen des Backups am:  `date +%A-%d-%b-%Y-%R`" >> /srv/www/htdocs/log/backup/backup.log
	    echo $Date >> /srv/www/htdocs/log/backup/backup.log
	    echo ------------ >> /srv/www/htdocs/log/backup/backup.log    
	    vmware-vim-cmd vmsvc/power.on 16	    
	exit 1
	fi

sleep 2


#Restore command:  tar -C /tmp -xvf /dev/st0

Danke schon mal...
 
A

Anonymous

Gast
Code:
echo "Erasing DDS5 Band!"
sleep 3
   mt -f /dev/st0 erase
ist Zeitverschwendung und Quatsch, je nach verwendeter mt-Version wird dort unter Linux wahrscheinlich sogar ein kompletter erase über SCSI angestoßen. Bei Bandlaufwerken reicht es vollkommen aus wenn am Anfang des Bandes irgend etwas geschrieben wird. Danach kann weder Otto-Normallinuxer noch Otto-Chef-Linux-Admin den ursprünglichen Inhalt des Bandes wieder auslesen. ;) (Es geht zwar aber nicht ganz einfach.) Es reicht also hier wenn du am Anfang des Bandes was schreibst, und deine Sicherung macht das ja auch.

Code:
 tar -C / -df /dev/st0
   if [ $? = 0 ] ; ......
Funktioniert zwar wunderbar, allerdings dürfen sich in der Zwischenzeit die Daten überhaupt nicht geändert haben. Hier würde schon ausreichen wenn root oder ein anderer User in der Zwischenzeit irgend einen Befehl auf irgend einer Konsole abgesetzt hat, schon ist die ~/.bash_history verändert und dein Vergleich läuft auf Fehlerhaft. Hier musst du dir wohl eine andere Methode überlegen wie du den Erfolg deiner Sicherung bestimmen willst.

Keine Ahnung was das für ein Rechner ist und für was du das Script genau brauchst. Wenn du nur ein ganz einfaches Script brauchst dann geht es so in der Art schon auch. Wenn du etwas anspruchsvollere Scripte für Bandsicherungen schreiben willst, dann würde ich dir noch ein paar Grundlagen http://www.linupedia.org/opensuse/Bandlaufwerke_und_LINUX
ans Herz legen und hier ein alter Monolog von mir http://www.linux-club.de/viewtopic.php?t=15197 noch zusätzlich.

In diesem Monolog hatte ich mal die Erstellung und Entwicklung eines Backupscriptes mit allerlei Haupt- und Nebensächlichen Betrachtungen hier hinterlassen, leider wurde dieser hier mittlerweile schon sehr stark zusammengestrichen, aber sollte auch so noch recht brauchbares enthalten, das man sich eine ganze Woche damit befassen kann. ;)

robi
 
Oben