1

我有一个在我的 Mac 上运行的 Minecraft Bukkit 服务器。我也经常出差,让服务器重启很痛苦。我是否有可能拥有一个可以使用停止命令关闭服务器的 Python 2.7.3 脚本。然后我希望脚本等待 30 秒,然后重新打开服务器。我希望脚本也位于每 6 小时重新启动服务器的计时器上。

我的主要问题是,是否有任何模块、库或方法可供我完成此任务,如果需要,我在哪里可以找到更多信息?

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

---- 伪代码 ----

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()

对不起,如果我的问题太天真,但我是一个业余程序员!

谢谢!

4

1 回答 1

1

用于这项工作的一个好工具是cron. 它安装在 Mac 上,专为按特定时间间隔运行任务而设计。

我会制作一个 python 脚本来运行您的命令(查看subprocess模块)并执行您想要的任何错误检查,然后将其设置为 cron 作业。

设置 cron 作业的基本过程是这样的:

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

然后添加几行,例如:

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

这将在每天午夜和中午运行一次您的脚本。

于 2013-01-24T01:53:02.500 回答