Hallo Liste! Langsam verzweifele ich... Gestern habe ich hier einen HP Streamer (SCSI) in meine Linux-Maschine eingebaut und laut der Anleitung unter sdb.suse.de die Befehle zur Inbetriebnahme durchgeführt. Ein mt -f /dev/st0 rewind und offline funktioniert, ich kann nur keine Daten auf die Bänder schreiben. Nach dem Befehl tar cvfz /dev/st0 /home kommt folgende Fehlermeldung: tar: /dev/st0: Cannot open: Device or resource busy tar: Error is not recoverable: exiting now Hat jemand eine Idee, woran das liegen könnte? Mit freundlichen Grüßen Jens Wolfgarten
On 7 Nov 2001, at 8:56, Jens Wolfgarten wrote:
Hallo Liste!
Langsam verzweifele ich... Gestern habe ich hier einen HP Streamer (SCSI) in meine Linux-Maschine eingebaut und laut der Anleitung unter sdb.suse.de die Befehle zur Inbetriebnahme durchgeführt. Ein mt -f /dev/st0 rewind und offline funktioniert, ich kann nur keine Daten auf die Bänder schreiben. Nach dem Befehl
tar cvfz /dev/st0 /home kommt folgende Fehlermeldung:
tar: /dev/st0: Cannot open: Device or resource busy tar: Error is not recoverable: exiting now
Hat jemand eine Idee, woran das liegen könnte?
a) Band defekt b) Kopftrommel verdreckt Ich würde mal 'nen Reinigungsband versuchen und evtl. ein anderes Band nehmen. Andreas
Nochmal einen Nachtrag zu meinem Beitrag von heute Morgen. Ich glaube, es liegt jetzt daran, daß der Streamer mit zu vielen Daten überfordert wird. Darauf gestoßen bin ich durch folgenden Link: http://lists.suse.com/archive/suse-linux/1998-Aug/1351.html Könnte das der Grund für meine Probleme sein? Mein Backup-Skript sieht wie folgt aus: == #!/bin/bash #=================================================================# # Skript zum automatischen Backup eines Servers # #=================================================================# # Belegung der in diesen Skript verwendeten Variablen EMAIL="user@host.tld" TAPE="/dev/st0" FQDN="fqdn" LOGDIR="/var/log/backup" BANDDIR="/var/log/backup/banddir" I=0 J=1 # Festlegung der zu sichernden Verzeichnisse in einem Array VERZEICHNIS=("/etc" "/home" "/var/mysql" "/root" "/usr/local/httpd/htdocs") # Test der LOGDIR und BANDDIR Variablen if [ ! -d "$LOGDIR" ] ; then echo "$LOGDIR ist kein Verzeichnis. Beim Versuch das Backup zu starten ist soeben (`date +%c`) ein Fehler aufgetreten. Das exit 1 fi if [ ! -d "$BANDDIR" ] ; then echo "$BANDDIR ist kein Verzeichnis. Beim Versuch das Backup zu starten ist soeben (`date +%c`) ein Fehler aufgetreten. Da exit 1 fi if mt -f $TAPE rewind ; then echo "Das Band konnte ordnungsgemaess zurueckgespult werden" else echo "Das Band konnte nicht ordnungsgemaess zurueckgespult werden. Beim Versuch das Backup zu starten ist soeben (`date +% exit 1 fi # Vorbereiten der Log-Dateien, loeschen der alten und erzeugen bzw. leeren cd $LOGDIR rm output.txt rm mail.txt touch output.txt touch mail.txt cd $BANDDIR touch `date +%y%m%d`_band.log echo "Verzeichnis des Bandes vom `date +%y%m%d` der Maschine $FQDN" > `date +%y%m%d`_band.log # Durchfuehren der Backups, Backup-Logik ist vom Prinzip her ein Template cd $LOGDIR echo "Backup Start um `date +%c`" | tee -a mail.txt while [ -n "${VERZEICHNIS[$I]}" ] ; do echo "Beginn Backup ${VERZEICHNIS[$I]} um `date +%c`" | tee -a mail.txt if tar cvfz $TAPE ${VERZEICHNIS[$I]} >>output.txt 2>>mail.txt ; then echo "$J. Position des Bandes: ${VERZEICHNIS[$I]}" >> $BANDDIR/`date +%y%m%d`_band.log echo "$J. Position des Bandes: ${VERZEICHNIS[$I]}" >> $LOGDIR/mail.txt else echo "Beim Erstellen des Backups ${VERZEICHNIS[$I]} ist ein Problem aufgetreten. Das Backup wurde abgebrochen. Weitere exit 1 fi echo "Ende Backup ${VERZEICHNIS[$I]} um `date +%c`" | tee -a mail.txt let I++ let J++ done # Versand der Status-Meldungen cat mail.txt | mail -s "Ergebnis Backup $FQDN" $EMAIL if mt -f $TAPE offline ; then echo "Das Band konnte ordnungsgemaess ausgeworfen werden." else echo "Das Band konnte nicht ordnungsgemaess ausgeworfen werden. Der genaue Status des Backups konnte nicht geklaert werden exit 1 fi # Ausgabe Exit Code 0 fuer die Crontab etc. exit 0 == Muß ich da Pausen einbauen? Wenn ja, wie am besten? Jens
On 7 Nov 2001, at 13:06, Jens Wolfgarten wrote:
Nochmal einen Nachtrag zu meinem Beitrag von heute Morgen.
Ich glaube, es liegt jetzt daran, daß der Streamer mit zu vielen Daten überfordert wird.
???. Glaube ich eher weniger.
Darauf gestoßen bin ich durch folgenden Link: http://lists.suse.com/archive/suse-linux/1998-Aug/1351.html
Könnte das der Grund für meine Probleme sein?
Ich denke eher nein. Ich sichere seit jeher in einer Schleife der Art: mt -t /dev/nst0 rewind for fs in fs1 fs2 fs3... do afio ... /dev/nst0 done mt -t /dev/nst0 rewind Nix mit timeout/Warten oder sonst was. (Sreamer ist ein HP1533 glaube ich. jedenfalls so ein ziemlich alter DAT Streamer) Hattest Du die Sache mit dem Bandwechsel/Reinigungsband mal ausprobiert? Hatte ich Dir gestern geschrieben. Ach ja. Was mir auffällt. Dein Skript KANN SO NIE funktionieren. Zumindest wirst Du keine echten Sicherungen ziehen, die du willst. Du schreibst immer auf das Tapedevice st0, welches nach dem Ende eines Befehls immer (!) einen Rewind macht. Du MUSST /dev/nst0 zum Schreiben nehmen, wenn du mehrere Sessions auf ein Tape schreiben willst. Andreas
participants (2)
-
Andreas Kyek
-
Jens Wolfgarten