• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] script um bestimmtes programm neu zu starten +

Hallo wieder mal ein Problem welches ich mir dachte durch ein shellscript zu beseitigen.

Habe einen Gameserver auf meinem Rootserver und dieser erstellt mir leider eine tägliche log des gesamten spiels die der wahnsinn ist nun habe ich zu dem game schon alle themen durchgesucht und diese spiellogdatei läßt sich durch die gameeinstellungen einfach nicht verkleinern. Das schlimme is das dort einfach alles aufgezeichnet wird was während des spiels gesprochen wird. das wollte ich nun durch einen cronjob mit shellscript beseitigen.

Hatte mir das so gedacht inklusive einer timeoutzeit und wollte gerne mal erfahren ob das so in ordnung ist?

Code:
#!/bin/bash

DELAY=30

/home/user/game/gameprog stop

DELAY ='expr $DELAY \* 2'

rm /home/user/game/logs/logfile.log

DELAY ='expr $DELAY \* 2'

/home/user/game/gameprog start


Ist das mi dem DELAY für die wartezeit in ordnung? Hab ich auf einer anderen seite gefunden das man das so machen könnte.

per cronjob wollte ich das dann so einfügen

1 0 * * * root /script/neustartgame.sh

Wie kann ich da nun ne log mit laufen lassen falls es dabei probleme gibt?
 

oc2pus

Ultimate Guru
logrotate wäre evetl eine einfachere Lösung:

es komprimiert die logs und rotiert (d.h. erstellt Versionen 1- N) sie und ist einfach zu konfigurieren
 

oc2pus

Ultimate Guru
habe ich mir nicht angeschaut :mrgreen:
warum wollen alle immer das Rad neu erfinden ... das gibt es doch schon alles ...

Beispiel /etc/logrotate.d/xinetd
Code:
var/log/xinetd.* {
    compress
    dateext
    maxage 365  <== maximales Alter eines logfiles
    rotate 99   <== wieviele Kopien aufheben
    size=+2048k  <== wie gross darf es werden bis es neu angelegt wird
    notifempty
    missingok
    copytruncate
    postrotate
    /etc/init.d/xinetd reload  <== Befehl um das Programm neu zu starten
    endscript
}
 
Oben