1

I have a Minecraft Bukkit Server which I run on my mac. I also travel often, making server restarts a pain. Is it at all possible for me to have a Python 2.7.3 script which can close the server using the stop command. I would then like the script to wait 30 seconds and then reopen the server. I would like the script to also be on a timer which restarts the server every 6 hours.

My main question is, are there any modules, libraries, or ways for me to accomplish this and where can I find more information if necessary?

print "Hello - This is the Bukkit Restart Program!"
"\n"
print "It will restart the minecraft server every 6 hours"

---- Pseudo Code ----

def RESTART():
    OUTCOME = None
    Every 6 hours:
        if program can open start_server.command:
            print "stop" in start_server.command
            wait 30 seconds
            open start_server.command
            OUTCOME = 1
        else:
             print "Error encountered!!"
             OUTCOME = 0
    return OUTCOME


def check():
    log = open("log.txt", "a+")
    if OUTCOME = 1:
        log.write("\n <insert time> SUCCESS!")
    else:
        log.write("\n <insert time> FAILURE! PLEASE CHECK CODE!")
    log.close()
RESTART()
check()

Sorry if my question is too naive, but I am an amateur programmer!

Thanks!

1 Answer 1

1

A good tool to use for this job would be cron. It comes installed on Mac, and is specifically designed for running tasks at specific intervals.

I would make a python script that runs your command (look into the subprocess module) and does whatever error checking you want, and then set it as a cron job.

The basic procedure to set up a cron job is something like this:

# (in a terminal)
# This opens up your crontab file, which lists all your scheduled jobs
crontab -e

Then add a couple lines like:

0 0 * * *  python /path/to/your/script.py
0 12 * * * python /path/to/your/script.py

That will run your script once at midnight and once at noon each day.

Sign up to request clarification or add additional context in comments.

1 Comment

With cron, you can even get away with having a three line shell script to restart the program.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.