D
dj_mueller
Hallo Leute,
ich bin jetzt wirklich am verzweifeln. Folgendes mir völlig schleierhaftes Verhalten:
Ich rufe in einem Bash-Skript einen tar auf. Das hat bisher immer funktioniert. An dem Skript wurde nichts geändert. Auf einmal konnte ich reproduzierbar folgendes Verhalten sehen:
- tar läuft an
- tar legt sich schlafen (also der Prozess hat ein S)
- auch nach stunden rührt sich nichts
Wenn ich den gleichen Befehl direkt auf der Konsole ausführe funktioniert alles wunderbar.
Hier der Befehl im Skript:
if { tar -cvf ${BACKUP_DIR}/vollbackup_${w_tag}.tar --exclude=temp * ; }
Also überhaupt nichts aufregendes.
Wenn der Prozess sich schlafen legt, sehe ich unter /proc/PID/fd das der Prozess noch einen File Descriptor auf eine Datei offen hatte.
Habe dann einmal diese Datei rausgenommen (mit --exclude) und wieder gestartet. Hat nichts geholfen. Prozess legte sich wieder schlafen. Diesmal war ein anderer File Descriptor offen.
Bin für jeden Hinsweis dankbar.
Folgender Workaround (Fix???) funktioniert:
Wenn ich die Zeile ändere:
if { tar -cvf ${BACKUP_DIR}/vollbackup_${w_tag}.tar --exclude=temp * > /dev/null ; }
Also Eingabestrom auf /dev/null/ umleite dann funktioniert es auch wieder.
Verstehen tue ich das aber nicht.
Gruss
Daniel
ich bin jetzt wirklich am verzweifeln. Folgendes mir völlig schleierhaftes Verhalten:
Ich rufe in einem Bash-Skript einen tar auf. Das hat bisher immer funktioniert. An dem Skript wurde nichts geändert. Auf einmal konnte ich reproduzierbar folgendes Verhalten sehen:
- tar läuft an
- tar legt sich schlafen (also der Prozess hat ein S)
- auch nach stunden rührt sich nichts
Wenn ich den gleichen Befehl direkt auf der Konsole ausführe funktioniert alles wunderbar.
Hier der Befehl im Skript:
if { tar -cvf ${BACKUP_DIR}/vollbackup_${w_tag}.tar --exclude=temp * ; }
Also überhaupt nichts aufregendes.
Wenn der Prozess sich schlafen legt, sehe ich unter /proc/PID/fd das der Prozess noch einen File Descriptor auf eine Datei offen hatte.
Habe dann einmal diese Datei rausgenommen (mit --exclude) und wieder gestartet. Hat nichts geholfen. Prozess legte sich wieder schlafen. Diesmal war ein anderer File Descriptor offen.
Bin für jeden Hinsweis dankbar.
Folgender Workaround (Fix???) funktioniert:
Wenn ich die Zeile ändere:
if { tar -cvf ${BACKUP_DIR}/vollbackup_${w_tag}.tar --exclude=temp * > /dev/null ; }
Also Eingabestrom auf /dev/null/ umleite dann funktioniert es auch wieder.
Verstehen tue ich das aber nicht.
Gruss
Daniel