Über Reboot (crontab) Script ausführen?

  • Hallo,
    Ich möchte gerne meinen vServer täglich um 4.15Uhr neustarten, durch den Reboot soll dann gleich noch mein Startscript mit aufgerufen werden, welches die Gameserver automatisch hochfährt. Das Script lässt sich auch mittels ./startscript.sh ausführen, alle Rechte sind vorhanden. Nur wenn ich die beiden Zeilen (inkl. Leerzeile am Ende) unten in die Crontab schreibe passiert nichts weiter (siehe Syslog). Die Gameserver starten so einfach nicht.


    Hat jemand eine Idee woran das liegt?


    crontab

    Code
    15 4 * * * root reboot
     @reboot gameserver /home/gameserver/startscript.sh


    syslog

    Code
    Dec 19 23:35:53 v22011121087XXXXX rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="9456" x-info="http://www.rsyslog.com"] exiting on signal 15.
    Dec 19 23:35:54 v22011121087XXXXX rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="15762" x-info="http://www.rsyslog.com"] (re)start
    Dec 19 23:35:54 v22011121087XXXXX /usr/sbin/cron[15787]: (CRON) INFO (pidfile fd = 5)
    Dec 19 23:35:54 v22011121087XXXXX /usr/sbin/cron[15788]: (CRON) STARTUP (fork ok)
    Dec 19 23:35:54 v22011121087XXXXX /usr/sbin/cron[15788]: (CRON) INFO (Running @reboot jobs)
    Dec 19 23:35:54 v22011121087XXXXX /USR/SBIN/CRON[15792]: (gameserver) CMD (/home/gameserver/startscript.sh)
    Dec 19 23:35:54 v22011121087XXXXX sSMTP[15797]: Creating SSL connection to host
    Dec 19 23:35:54 v22011121087XXXXX sSMTP[15797]: SSL connection using DHE_RSA_AES_128_CBC_SHA1
    Dec 19 23:35:55 v22011121087XXXXX sSMTP[15797]: Sent mail for gameserver@v22011121087XXXXX.yourvserver.net (221 2.0.0 Bye) uid=1000 username=gameserver outbytes=794


    Meine System: Debian Squeeze 64Bit


    Vorab schonmal danke.
    Gruß, shifty

  • Ist der PATH im Crontab richtig gesetzt? Falls nicht: Entweder setzen oder absolute Pfade verwenden ;)


    Falls das nichts hilft: Was steht denn in der E-Mail, die scheinbar direkt nach der Ausführung versendet wird? Vielleicht eine Fehlermeldung?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • shutdown: timeout opening/writing control channel /dev/initctl init: timeout opening/writing control channel /dev/initctl


    Das steht in der Email, somit wird der Reboot auch nicht ausgeführt, ich hatte gestern immer über das VCP neu gestartet.
    Der Pfad stimmt so, hab das gleiche auf einem Lenny Server laufen, nicht von Netcup, dort funktioniert's ohne Probleme.


    Meine Installation ist komplett blank, ich hab als Paket bisher nur Screen, 32 Bit libares und Ssmtp installiert.


    Kann es sein das der Reboot über crontab von netcup geblockt wird?

  • Ok, hab ich mir schon gedacht, das erklärt weshalb der Reboot nicht ausgeführt wird. Gibt es alternativen den Server täglich automatisch neu zu starten?
    Bei dem Script werde ich heute Abend mal den absoluten Pfad eintragen, hoffe es läuft dann.

  • Ich betreibe schon seit ca. 1,5 Jahren einen gut besuchten Gameserver auf einem vServer (Kein Netcup vServer). Dort habe ich festgestellt das sich zum Abend hin die CPU Leistung immer mehr aufschaukelt, der RAM bleibt eigentlich immer relativ konstant. Würde ich den vServer nun durchgehend laufen lassen brechen mir nach ca. 2 Tagen die Frames so dermaßen ein das man den Sever nicht mal mehr erreichen kann, passiert das geht die CPU Leistung und die RAM Leistung auf volle 100%. Ich hab so auch ausgetestet mit wie vielen Slots man den vServer belasten kann bis er in die Knie geht, im Moment fahre ich mit 2x20 Slots sehr gut, allerdings nur mit einem täglichen Reboot des vServers. Nur die Gameserver neu zu starten ist nicht ausreichend, man merkt das man dann nicht die gleiche Leistung hat wie bei einem komplett neu gestartetem System.


    Zudem sollten die Gameserver auch wieder mitgestartet werden wenn der vServer z.B. durch Wartung abgeschaltet wird, lässt sich ja eigentlich alles über den reboot machen.

  • TF2 mit diversen Plugins. Sie lassen die Server ohne neustart laufen? Das führt aber irgendwann zwangsläufig zum Crash bzw. zum laggen.
    Wenn der Server nur ab und zu mal bespielt wird sollte es auch kein Problem sein diesen mehrere Wochen ohne neustart zu betreiben, aber nicht wenn am Tag. 14-15 Stunden lang alle Slots belegt sind.

  • Das Phänomen kann ich nicht nachvollziehen. Die Steamspiele laufen eigentlich problemlos, ausser man verwendet zu viele oder die falschen Plugins. Eventscripts z.B. machen leider oftmals Probleme da die Module für Eventscripts oft sehr ineffizient programmiert sind um nur mal ein Beispiel zu nennen.


    Ich würde daher erst mal die "diversen Plugins" genauer prüfen da die Probleme sicherlich dadurch verursacht werden.

  • Zuviele nicht, ich kann Ihnen genau sagen welches SM Plugin das ist ;)
    Ich verwende lediglich SMAC, gameME, ansonsten noch eine Plugin zum begrenzen bestimmter Spieler Klassen, das ist aber nicht der Rede wert. Und halt noch MetaMod und SDK Hooks.
    Was sehr CPU lastig ist ist das SMAC Plugin und dort ganz speziell das Wallhack Modul, welches einen Wallhack blockieren soll, dadurch wird die CPU allerdings enorm gefordert.


    Gibt es eigentlich einen bestimmten Grund weshalb der Reboot nur über das VCP möglich ist? Gerade bei einem light Server ohne Backup Funktion sehe ich keinen Sinn weshalb man den Reboot so blockieren müsste, bei einem Server mit Backup würde ich es verstehen, da sollte es nur möglich sein über das VCP zu starten, kommt halt schlecht wenn der Reboot erfolgt wenn gerade ein Backup läuft. Was halten Sie den von einer Funktion im VCP die es möglich macht den Server zu einer bestimmten Uhrzeit neu zu starten?


    Ich werds hier dann nun so machen das nur die Gserver neu gestartet werden, mal sehen wie das dann läuft, ist ja ein besserer vServer als mein letzer. Die Sache mit dem Reboot über VCP sollte aber funktionieren, so das sich die Gameserver dann auch wieder mit hochfahren sobald im VCP gestartet wird. Ich werde das heute Abend nochmal ausprobieren mit dem absoluten Pfad, wenn aber der Reboot Befehl hier generell geblockt wird dürfte das ja auch nicht funktionieren.


  • Gibt es eigentlich einen bestimmten Grund weshalb der Reboot nur über das VCP möglich ist?


    Die Virtualisierung ist der Grund, du bist praktisch nur ein Prozess des Wirtssystems. Bei andere Virtualisierungen hast du ein gesamtes System mit CPU, Netzwerkkarte, teilweise mit eigenem Kernel, etc...

  • Was wird denn hier verwendet, ist das was eigenes von Netcup?
    Bei meinem zweiten vServer läuft Virtuozo, dort kann ich die Zeilen wie oben verwenden. Habe dort aber schon 2 mal den Support anschreiben müssen weil gerade wo ein Backup lief der vServer über die Crontab neu gestartet wurde, danach kann man aus Virtuozo raus nicht mehr selbst startet. Ich hab die Zeiten des Reboots aber jetzt anders gelegt und schon seit einem halben jahr keine Probleme mehr gehabt.



    Klar ist der Pfad richtig, das Script liegt im Stammverzeichnis des Benutzers "gameserver".
    Ok, also jetzt wollte ich dort den absoluten Pfad einsetzen, allerdings ist dieser Pfad den ich habe doch absolut, immer ausgehend vom Stammverzeichnis, demnach wäre das doch mein absoluter Pfad zum Script?

    Code
    /home/gameserver/startscript.sh


    Relativ ist doch z.B.

    Code
    ./gameserver/startscript.sh

    oder stehe ich gerade auf dem Schlauch?


    Das starten des Gameserver Scripts über einen Reboot im VCP funktioniert allerdings mit beiden Pfadangaben nicht, sehr seltsam.

  • Also ich habs nun doch hinbekommen das meine Gameserver alle mitstarten wenn ich über das VCP neu starte, also mittels @reboot Befehl im Crontab. Es lag an meinem alten Startscript das es nicht funktioniert hat.
    Falls noch wer Probleme damit hat kann ich weiterhelfen.