Cronjob, Batchdatei zum starten und beenden einer Server Instance
Hallo; ich bräuchte Hilfe beim Umgang von Cronjob.
Bestimmt Simple für viele, aber ich verzweifle fast daran.
Es geht darum auf einen Server mit Debian GNU/Linux eine Server-Instance einmal täglich zu Starten und kurz vorher zu Beenden.
Im Web-Interface habe zwar die Möglichkeit Datum,Zeit und Intervall zu bestimmen, aber mit der Batchdatei komme ich dann nicht weiter. Habe mir schon einige Beispiel-Codes angesehen, diese waren doch meistens für Backups angefährtigt.
eigentlich habe zwei fragen bzw. bitten
1. mit was muss die Batchdatei enden? .bat wie bei DOS od. mit .sh
2. ein Beispiel-Code währe Super
ich gebe den pfad mal mit an
/home/userXY/ts2perlmod//ts2perlmod.pl -config=ts8000.ini
Bestimmt Simple für viele, aber ich verzweifle fast daran.
Es geht darum auf einen Server mit Debian GNU/Linux eine Server-Instance einmal täglich zu Starten und kurz vorher zu Beenden.
Im Web-Interface habe zwar die Möglichkeit Datum,Zeit und Intervall zu bestimmen, aber mit der Batchdatei komme ich dann nicht weiter. Habe mir schon einige Beispiel-Codes angesehen, diese waren doch meistens für Backups angefährtigt.
eigentlich habe zwei fragen bzw. bitten
1. mit was muss die Batchdatei enden? .bat wie bei DOS od. mit .sh
2. ein Beispiel-Code währe Super
ich gebe den pfad mal mit an
/home/userXY/ts2perlmod//ts2perlmod.pl -config=ts8000.ini
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 76446
Url: https://administrator.de/forum/cronjob-batchdatei-zum-starten-und-beenden-einer-server-instance-76446.html
Ausgedruckt am: 28.04.2025 um 11:04 Uhr
3 Kommentare
Neuester Kommentar
Zuerstmal ist es vermutlich ein Shellskript das du haben willst.
Womit die Datei endet ist absolut egal, solange sie ausführbar gemacht wird mittels
chmod ug+x /pfad/zu/deiner/datei.sh
Es ist aber üblich Shell-Skripte mit der Endung '.sh' zu versehen. Nun kannst du das Skript aufrufen mit /pfad/zum/skript.sh, wobei es die Parameter 'start' und 'stop' versteht. Zum stoppen des Servers benutzt du also einfach
/pfad/zum/skript.sh stop
und zum starten
/pfad/zum/skript.sh start
Das ganze kannst du dann z.B. wie folgt in die /etc/crontab eintragen, damit es einmal Nachts um 2:15 Uhr ausgeführt wird
Das doppelte &-Zeichen zwischen den beiden Befehlen sorgt dafür, dass der zweite Befehl erst aufgerufen wird, wenn der erste fertig bearbeitet wurde. Der Server wird also zuerst beendet und danach gestartet. Der Zusatz nach den Befehlen ('> /var/log/serverrestart.log 2>&1') leitet sämtlichen Output des Skripts in die Datei /var/log/serverrestart.log um.
Für weitere Details siehe
man 1 crontab
man 5 crontab
man 1 bash
#!/bin/bashcase "$1" instart) hier gehoert der Befehl zum Starten des Servers rein ;;stop) hier gehoert der Befehl zum Stoppen des Servers rein ;;*) dieser Abschnitt wird ausgeführt, wenn ein unbekannter Parameter beim Aufruf verwendet wird ;;esacexit 0
Womit die Datei endet ist absolut egal, solange sie ausführbar gemacht wird mittels
chmod ug+x /pfad/zu/deiner/datei.sh
Es ist aber üblich Shell-Skripte mit der Endung '.sh' zu versehen. Nun kannst du das Skript aufrufen mit /pfad/zum/skript.sh, wobei es die Parameter 'start' und 'stop' versteht. Zum stoppen des Servers benutzt du also einfach
/pfad/zum/skript.sh stop
und zum starten
/pfad/zum/skript.sh start
Das ganze kannst du dann z.B. wie folgt in die /etc/crontab eintragen, damit es einmal Nachts um 2:15 Uhr ausgeführt wird
15 2 * * * root /pfad/zum/skript.sh stop && /pfad/zum/skript.sh start > /var/log/serverrestart.log 2>&1
Das doppelte &-Zeichen zwischen den beiden Befehlen sorgt dafür, dass der zweite Befehl erst aufgerufen wird, wenn der erste fertig bearbeitet wurde. Der Server wird also zuerst beendet und danach gestartet. Der Zusatz nach den Befehlen ('> /var/log/serverrestart.log 2>&1') leitet sämtlichen Output des Skripts in die Datei /var/log/serverrestart.log um.
Für weitere Details siehe
man 1 crontab
man 5 crontab
man 1 bash