Helló mindenkinek! 
Lenne itt egy VPS szeró Hldswatch-os újraindítással, de amikor újraindítja a Hldswatch akkor nem indítja vele a logot(screenlog.0)!
Van erre valakinek ötlete hogy miként lehetne a Hldswatch kódjába beleírni hogy a logot is indítsa miután kifagy a szerver? 
Válaszokat köszönöm!
hldswatch.py
Kód:
#!/usr/bin/python
"""
HLDSWatch (v2.0)
HLDS monitoring and restarter script
This script is released under the GPL (http://www.gnu.org/licenses/gpl.html)
Copyright 2012 blitzbite
Contact: http://steamcommunity.com/id/blitzbite
"""
import ConfigParser
import os.path, re, socket
from os import geteuid, devnull
from subprocess import call
from sys import argv, exit, version_info
from time import strftime, sleep
# --- User preferences ---
# Delay (in sec) for status checks
check_interval = 300
# File logging
# To change log file location, enter the full path of desired location
# in log_filename eg /var/www/hldswatch.log
log_to_file    = 1
log_filename   = "hldswatch.log"
# --- End of user preferences ---
# Query constants
HEADER           = "\xFF\xFF\xFF\xFF"
A2A_PING         = "\x69\x00"
A2S_INFO         = "TSource Engine Query\x00"
QUERY_TIMEOUT    = 3
QUERY_RETRY      = 3
QUERY_RETRY_WAIT = 5
class HLDSWatch(object):
    def __init__(self, conf):
        if os.path.isfile(conf):
            self.c = ConfigParser.SafeConfigParser()
            self.c.readfp(open(conf))
        else:
            exit("Error: Config file given does not exist!")
        # Hold all server settings
        self.serverconfig = {}
        # Remember script's working dir
        self.cwdir = os.getcwd()
        # validate and cache all server settings
        self.validate_config()
    """Message logging"""
    def printlog(self, msg):
        cur_time = strftime("%m-%d %H:%M:%S")
        log_msg = "%s -> %s" % (cur_time, msg)
        print "%s" % log_msg
        if log_to_file and log_filename:
            with open(log_filename, 'a') as f:
                f.write(log_msg + '\n')
            f.close()
    """Parse and validate options in config file"""
    def validate_config(self):
        for sec in self.c.sections():
            if not re.match("^([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+$", sec):
                exit('Error: "[%s]" is invalid section name. All section names must be in [<ip>:<port>] form' % sec)
            else:
                # engine value
                val_engine = self.c.get(sec, "engine")
                if val_engine == "goldsource":
                    val_engine = "goldsrc"
                if not val_engine:
                    exit("Error: [%s] 'engine' type is left out" % sec)
                elif not re.match("^(?:goldsrc|source)$", val_engine):
                    exit("Error: [%s] 'engine' is unknown and not supported" % sec)
                # autorestart value
                val_autorestart = self.c.get(sec, "autorestart")
                if not val_autorestart:
                    exit("Error: [%s] 'autorestart' is left out" % sec)
                elif re.match("^[Yy1]", val_autorestart[0]):
                    val_autorestart = True
                    # screen value
                    val_screen = self.c.get(sec, "screen")
                    if not val_screen:
                        exit("Error: [%s] 'screen' is required and cannot be left out when autorestart is enabled" % sec)
                    elif not re.match("^[A-Za-z0-9_]+$", val_screen):
                        exit("Error: [%s] 'screen' must contain only alphanumeric and underscore character" % sec)
                    # startdir value
                    val_startdir = self.c.get(sec, "startdir")
                    if not val_startdir:
                        exit("Error: [%s] 'startdir' is required and cannot be left out when autorestart is enabled" % sec)
                    elif not os.path.isdir(val_startdir):
                        exit("Error: [%s] 'startdir' path doesn't exist" % sec)
                    else:
                        if val_engine == "goldsrc" and not os.path.isfile(val_startdir + '/hlds_run'):
                            exit("Error: [%s] Can't find hlds_run in 'startdir'" % sec)
                        elif val_engine == "source" and not os.path.isfile(val_startdir + '/srcds_run'):
                            exit("Error: [%s] Can't find srcds_run in 'startdir'" % sec)
                else:
                    val_autorestart = False
                    val_screen, val_startdir = None, None
                # command value
                val_command = self.c.get(sec, "command")
                if not val_command:
                    if val_autorestart:
                        exit("Error: [%s] 'command' is required and cannot be left out when autorestart is enabled" % sec)
                    else:
                        val_command = None
            # Cache all server specific configs
            self.serverconfig[sec] = {'engine' : val_engine,
                                 'autorestart' : val_autorestart,
                                      'screen' : val_screen,
                                     'command' : val_command,
                                    'startdir' : val_startdir}
    """Server status check"""
    def is_up(self, ip, port, engine):
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.settimeout(float(QUERY_TIMEOUT))
        if engine == "goldsrc":
            packet = HEADER + A2A_PING
        else:
            packet = HEADER + A2S_INFO
        retry, status = 0, 0
        reply = None
        while retry < QUERY_RETRY:
            try:
                # Send ping to server
                s.sendto(packet, (ip, int(port)))
                reply = s.recv(4096)
                if len(reply) > 4:
                    if engine == "goldsrc":
                        if reply[4] == "j":
                            status = 1
                            break
                    else:
                        if reply[4] == "I":
                            status = 1
                            break
            except socket.timeout:
                pass
            retry += 1
            sleep (QUERY_RETRY_WAIT)
        s.close()
        return status == 1
    """Restart server"""
    def relaunch(self, addr):
        # Get all settings that we need to restart
        screenname = self.serverconfig[addr]['screen']
        startcmd = self.serverconfig[addr]['command']
        path = self.serverconfig[addr]['startdir']
        # Screen command params
        screencmd = "-dmS %s " % screenname
        # CD into server dir
        try:
            os.chdir(path)
        except OSError:
            self.printlog("* Unable to cd into server dir '%s'" % path)
            return
        with open(os.devnull, "w") as blackhole:
            # In case server process is unresponsive or hung and doesn't quit itself after crashed
            call("screen -S %s -X quit" % screenname, stdout=blackhole, stderr=blackhole, shell=True)
            # Restart server process
            call("screen " + screencmd + startcmd, stdout=blackhole, stderr=blackhole, shell=True)
        # Go back to where we were
        os.chdir(self.cwdir)
    """Monitor servers"""
    def watch(self):
        # Here we go
        self.printlog("HLDSWatch started")
        self.printlog("Monitoring %i servers" % len(self.serverconfig))
        try:
            # Loop forever
            while True:
                for addr in self.serverconfig:
                    ip, port = addr.split(':')
                    if not self.is_up(ip, port, self.serverconfig[addr]['engine']):
                        self.printlog("%s is down" % addr)
                        # if autorestart enabled, restart the server
                        if self.serverconfig[addr]['autorestart'] == True:
                            # Try restart
                            self.relaunch(addr)
                            # Give some time for server to start up
                            sleep (5)
                            # Did it come back up?
                            if self.is_up(ip, port, self.serverconfig[addr]['engine']):
                                self.printlog("* Server restarted fine")
                            else:
                                self.printlog("* Attempt to restart failed")
                        elif self.serverconfig[addr]['command']:
                            # Execute user's custom command
                            with open(devnull, "w") as blackhole:
                                call(self.serverconfig[addr]['command'], stdout=blackhole, stderr=blackhole, shell=True)
                sleep(check_interval)
        except KeyboardInterrupt:
            self.printlog("HLDSWatch terminated")
if __name__ == '__main__':
    # Idiot check..never run hlds/srcds as root!
    # We need at least python 2.6 to run this script
    if version_info[:2] < (2,6):
        exit('Error: Your python version is too old! This script requires at least python 2.6.x or newer')
    # Must give a config file
    if len(argv) != 2:
        exit("Usage: ./hldswatch.py <configfile>")
    else:
        hlds = HLDSWatch(argv[1])
        hlds.watch()
# vim: tabstop=4:softtabstop=4:shiftwidth=4:expandtab
Hozzá tartozó konfig fájl (servers.conf)
Kód:
# Restart server on crash or when no response is received
# If autorestart is enabled; screen, command and startdir options are required to fill
# screen   : name for screen session
# command  : your server start command
# startdir : server dir path that contains hlds/srcds executable
# Same as above
[1.1.1.1:27015]
engine=goldsrc
autorestart=y
screen=cs
command=./hlds_run -console -game cstrike +ip 1.1.1.1 +port 27015 +maxplayers 28 +map de_dust2 +exec server.cfg +sys_ticrate 1000 +fps_max 800 -pingboost 3 > /dev/null >&1
startdir=/home/steamcmd/cs

Megoldva oly módon h az indító sorba beleírtam a -debug -ot és akkor elindul magától 
