Hallo Liste,
wegen meinem schlechten Englisch bin ich von deutschen Texten abhängig.
ps:
Aber dort konnte ich nichts zu meinem Problem finden (googel, eigene Bücher, Buchladen).
Aufgrund getesteter Situation bin ich mir nicht sicher ob es ein Bug ist, :???:
oder einfach nur ein Irrtum meinerseits.
Wer könnte mir also dabei helfen der Sache auf dem Grund zu gehen? :schockiert:
Gruß Achim, alias Jiep
System:
penSUSE 10.2
------------
Situation:
Ein und ausgehende Dateien (Internet) sollen nach Standart abgearbeitet
werden.
Aufgabe:
* Es gibt mehrere Scripte von start.ksh und main.ksh. Diese haben unterschiedliche verschiedene Aufgaben und Abläufe für darunter liegende Scripte definiert.
* Main-Scripte regeln den logischen Ablauf, aber nicht die Detailsteuerung.
* Darunter liegende Scripte (zahlenmäßig viele) sollen wiederverwendbar sein, so das neu gestaltete main.scripte diese sofort nutzen koennen und regeln die Detail-Steuerung. Protokolle schreiben log err, mail, ftp, ssh, usw.
* Nach einem Rebot soll die Arbeit dort wieder aufgenommen werden, wo sie vor dem Reboot unterbrochen wurde.
* ...
Für den letzten Punkt "Arbeitsaufnahme" habe ich zwar eine (einiger maßen) logische korrekte Lösung gefunden ABER das trap-Kommando arbeitet nicht richtig!
Lade ich das trap-script dierekt in das main-Script, wird niemals das trap-Kommando nach meinen Vorstellunge ausgeführt.
Lade ich das trap-script innerhalb einer der while-Schleifen im Kommando-Script, wird es wie nach den Zufallsprinzip ignoriert oder korrekt ausgeführt »» kill -SIG PID »»
1.) Shell meldet z.B. nur "beendet"
ODER
2.) trap schreibt in Log+Error-Files UND erstellt die Datei mit Namen
Datei_SIG_Script_Stop
2.1) commando_ausfuehren.ksh findet Datei_SIG_Script_Stop und beendet sich
kontrolliert
---------------- vereinfachte Script-Darstellung -----------
con startet start.ksh
start.ksh
#
Datei_SIG_Script_Stop vorhanden?
ja: neu dann exit
ja: alt dann loeschen
#
neue Datei.tar.gz.pgp....
ja: starte main.ksh mit NeueDateNamen
nein: exit
#
### EOFstart.ksh
main.ksh ARGV[1]
#
. trap.ksh
. error_handling.ksh
. schreibe_log.ksh
. command_ausfuehren.ksh
. embeddet_functions.ksh
#
Kommandodatei.dat vorhanden?
ja: starte commando_ausfuehren.ksh Kommandodatei.dat
#
nein: echo "gpg NeueDateiNamen" > Kommandodatei.dat
echo "gz NeueDateiNamen" >> Kommandodatei.dat
echo "tar NeueDateiNamen" >> Kommandodatei.dat
echo "mv .... usw.usw.usw" >> Kommandodatei.dat
#
starte commando_ausfuehren.ksh Kommandodatei.dat
### EOFmain.ksh
trap.ksh
#
case UNUX.system
. Linux_SIG.dat
. HPUX_SIG.dat
. SUN_SIG.dat
. AIX_SIG.dat
esac
#
SIGNAL?
ja: schreibe bei SIG in logfine.txt
ja: touch Datei_SIG_Script_Stop
###EOFtrap.ksh
commando_ausfuehren.ksh $1
#
function_protokoll
#
(schreibe logfiles / Errorfiles / Mail an Admin ... je nach Situation
#
#
function_kommaodausfuehrung
#
kommandoaufruf parameter [parameter [parametert]]
#
#
while [ Kommandodatei.dat]
#
read <Kommandodatei.dat
while [ commandozeile]
#
Zeile[@] = commandozeile]
#
done
#
while[ Zeile ]
#
aktuelleskommado = Zeile[ n ]
cp -f Kommandodatei.dat Kommandodatei.sicher.$$
rm Kommandodatei.dat
#
while [ Zeile + 1 ]
Zeile[ n + 1 ] >> Kommandodatei.dat
Zeile++
done
#
function_kommaodausfuehrung aktuelleskommado
rm Kommandodatei.sicher.$$
#
Datei_SIG_Script_Stop vorhanden?
ja: exit
#
done #while_Zeile
#
done #while_Kommandodatei
#
### EOFcommando_ausfuehren.ksh
-----------------------------------------------------
wegen meinem schlechten Englisch bin ich von deutschen Texten abhängig.
Aber dort konnte ich nichts zu meinem Problem finden (googel, eigene Bücher, Buchladen).
Aufgrund getesteter Situation bin ich mir nicht sicher ob es ein Bug ist, :???:
oder einfach nur ein Irrtum meinerseits.

Wer könnte mir also dabei helfen der Sache auf dem Grund zu gehen? :schockiert:
Gruß Achim, alias Jiep
System:
------------
Situation:
Ein und ausgehende Dateien (Internet) sollen nach Standart abgearbeitet
werden.
Aufgabe:
* Es gibt mehrere Scripte von start.ksh und main.ksh. Diese haben unterschiedliche verschiedene Aufgaben und Abläufe für darunter liegende Scripte definiert.
* Main-Scripte regeln den logischen Ablauf, aber nicht die Detailsteuerung.
* Darunter liegende Scripte (zahlenmäßig viele) sollen wiederverwendbar sein, so das neu gestaltete main.scripte diese sofort nutzen koennen und regeln die Detail-Steuerung. Protokolle schreiben log err, mail, ftp, ssh, usw.
* Nach einem Rebot soll die Arbeit dort wieder aufgenommen werden, wo sie vor dem Reboot unterbrochen wurde.
* ...
Für den letzten Punkt "Arbeitsaufnahme" habe ich zwar eine (einiger maßen) logische korrekte Lösung gefunden ABER das trap-Kommando arbeitet nicht richtig!
Lade ich das trap-script dierekt in das main-Script, wird niemals das trap-Kommando nach meinen Vorstellunge ausgeführt.
Lade ich das trap-script innerhalb einer der while-Schleifen im Kommando-Script, wird es wie nach den Zufallsprinzip ignoriert oder korrekt ausgeführt »» kill -SIG PID »»
1.) Shell meldet z.B. nur "beendet"
ODER
2.) trap schreibt in Log+Error-Files UND erstellt die Datei mit Namen
Datei_SIG_Script_Stop
2.1) commando_ausfuehren.ksh findet Datei_SIG_Script_Stop und beendet sich
kontrolliert
---------------- vereinfachte Script-Darstellung -----------
con startet start.ksh
start.ksh
#
Datei_SIG_Script_Stop vorhanden?
ja: neu dann exit
ja: alt dann loeschen
#
neue Datei.tar.gz.pgp....
ja: starte main.ksh mit NeueDateNamen
nein: exit
#
### EOFstart.ksh
main.ksh ARGV[1]
#
. trap.ksh
. error_handling.ksh
. schreibe_log.ksh
. command_ausfuehren.ksh
. embeddet_functions.ksh
#
Kommandodatei.dat vorhanden?
ja: starte commando_ausfuehren.ksh Kommandodatei.dat
#
nein: echo "gpg NeueDateiNamen" > Kommandodatei.dat
echo "gz NeueDateiNamen" >> Kommandodatei.dat
echo "tar NeueDateiNamen" >> Kommandodatei.dat
echo "mv .... usw.usw.usw" >> Kommandodatei.dat
#
starte commando_ausfuehren.ksh Kommandodatei.dat
### EOFmain.ksh
trap.ksh
#
case UNUX.system
. Linux_SIG.dat
. HPUX_SIG.dat
. SUN_SIG.dat
. AIX_SIG.dat
esac
#
SIGNAL?
ja: schreibe bei SIG in logfine.txt
ja: touch Datei_SIG_Script_Stop
###EOFtrap.ksh
commando_ausfuehren.ksh $1
#
function_protokoll
#
(schreibe logfiles / Errorfiles / Mail an Admin ... je nach Situation
#
#
function_kommaodausfuehrung
#
kommandoaufruf parameter [parameter [parametert]]
#
#
while [ Kommandodatei.dat]
#
read <Kommandodatei.dat
while [ commandozeile]
#
Zeile[@] = commandozeile]
#
done
#
while[ Zeile ]
#
aktuelleskommado = Zeile[ n ]
cp -f Kommandodatei.dat Kommandodatei.sicher.$$
rm Kommandodatei.dat
#
while [ Zeile + 1 ]
Zeile[ n + 1 ] >> Kommandodatei.dat
Zeile++
done
#
function_kommaodausfuehrung aktuelleskommado
rm Kommandodatei.sicher.$$
#
Datei_SIG_Script_Stop vorhanden?
ja: exit
#
done #while_Zeile
#
done #while_Kommandodatei
#
### EOFcommando_ausfuehren.ksh
-----------------------------------------------------