Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

02.09.2008, 15:33

[gelöst] Problem mit autostart

Hallo zusammen,

ich habe ein großes Problem mit ein paar Scripten welche ich gerne über die /etc/init.d Runlevels starten lassen möchte.

Es handelt sich dabei um ein Start und Stop Script eines SAP Systems.

Die Scripte habe ich nach /etc/init.d kopiert und erst einmal das Startscript in die /etc/init.d/rc5.d/ verklinkt. (

Quellcode

1
/etc/init.d/rc5.d/S15startsap -> ../startsap
)

Das funktioniert aber nicht. Das gleiche habe ich mit einem Test Script gemacht welches einfach nur das Datum in eine Datei schreiben soll. Auch das funktioniert nicht. Ein ausführen per Hand ist kein Problem.
Der default Runlevel ist bei mir init 5.

Hat jemand eine Idee warum das nicht geht. Gibt es unter Suse eine log Datei wo ich nachschauen könnte?

System= SLES10 SP2

Wenn noch Infos fehlen sollten reiche ich sie nach.

lg nacosis

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »nacosis« (02.09.2008, 15:37)


linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

2

02.09.2008, 16:38

RE: Problem mit autostart

liegt meist an problemen mit dem suchpfad der kommandos. die scripte werden nicht in einer interaktiven shell ausgeführt und damit ist das environment anders als in deiner interaktiven usershell.
trage die kommandos im script mit vollständigem pfad ein, dann sollte es klappen.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

3

03.09.2008, 09:00

Morgen,


Danke für die schnelle Antwort.

die Pfade in den Skripten sind schon im Vollständigen Pfad.
Ich bin aber auch weiter gekommen.

Trage ich das Startskript in die Levels 3 und 5 funktioniert das ganze.
Kannst du mir evtl. erklären warum das so ist?

In welchen Runlevels würde jetzt das Stop Skript Sinn machen?
Im 0 und 6 ist klar.
Wartet das System eigentlich dann wenn das Skript durchgelaufen ist? Sprich das SAP System unten ist. Das dauert eine kurze Zeit da die Oracle Datenbank auch noch gestoppt werden muss, oder gibt es Mechanismen mit denen man eine Verzögerung des Shutdowns hin bekommt?

lg nacosis

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

4

05.09.2008, 12:11

Zitat

Original von nacosis
Trage ich das Startskript in die Levels 3 und 5 funktioniert das ganze.
Kannst du mir evtl. erklären warum das so ist?

und wo war das startscript eingetragen, als es nicht funktioniert hat?

Zitat


In welchen Runlevels würde jetzt das Stop Skript Sinn machen?
Im 0 und 6 ist klar.

Zitat


ausreichend

Zitat


Wartet das System eigentlich dann wenn das Skript durchgelaufen ist? Sprich das SAP System unten ist. Das dauert eine kurze Zeit da die Oracle Datenbank auch noch gestoppt werden muss, oder gibt es Mechanismen mit denen man eine Verzögerung des Shutdowns hin bekommt?

Zitat


deinen rechner interessiert beim shutdown nur, wann sich dein stoppscript beendet. hängt also von dem clientprogramm ab, dass du benutzt.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

5

05.09.2008, 14:13

fast gelöst...

Hi,

ich habe es jetzt gelöst bekommen.
Ich habe mir ein init Script gebastelt wo ich das start und stop Script eingebunden habe.
Das mittels chkconfig –add scriptname in die Runlevels eintragen lassen und das funktioniert super.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/sh
### BEGIN INIT INFO
# Provides: CE1
# Required-Start: $network $sapinit
# Required-Stop: $network $sapinit
# Default-Start: 3 5
# Description: CE1 
### END INIT INFO
case "$1" in
start) 
cd /usr/sap/CE1/batchfolder/
./startCE1 -startcommand 
;;
stop)
cd /usr/sap/CE1/batchfolder/ ./stopCE1 -stopcommand ;; *) echo "Usage: $0 { start | stop }"
;; esac
exit 0


Was vielleicht noch für mich wissenswert wäre, ist wie ich den Status mittels /etc/init.d/script status abprüfen könnte.

Danke.

lg nacosis

6

05.09.2008, 22:26

Da gäbe es verschiedene Möglichkeiten. Verbreitet wäre die Benutzung von pidof, ps start-stop-daemon und einer "pidfile". Für Details empfehle ich die Lektüre der jeweiligen man-Einträge. Manchmal merkt sich aber auch das init-Konstrukt der Distribution, welche Prozesse erfolgreich gestartet wurden. Das ist aber nicht unbedingt besonders zuverlässig...

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

7

05.09.2008, 23:16

wenn die datenbank auf einem entfernten rechner läuft, dann hat er keine pid zur verfügung, könnte auch nur root-lesbar sein.
den status muss also ein client-programm zurückmelden und das kann dann in das script eingebunden werden.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

8

12.09.2008, 08:19

gelöst

Hi,

die Datenbank ist nicht ganz so das Problem. Richtig ist das sie nicht auf dem selben Server läuft.
Ich schau mir die Geschichte mal an. Vielleicht kann ich es gebrauchen.

ABER DICKES DANKE AN EUCH.

lg nacosis

Thema bewerten