Linux:我应该使用什么来运行基于日历系统的终端程序?

时间:2011-10-13 12:10:31

标签: linux cron terminal remote-server

对于这个真正含糊不清的问题感到抱歉,我真的不知道如何说出来,但希望我能在这里给你更详细的信息。

我正在开发一个项目,用户可以登录网站并预订服务器以在特定时间内运行游戏。当时间到了,服务器停止运行并且服务器上的播放器被启动。网站部分不是问题,我在PHP中这样做,一切正常。它有一个日历系统来预订服务器,并可以根据用户的需要生成配置文件。

我的问题是我应该使用什么来在正确的时间使用这些配置文件在linux机器上运行特定的游戏服务器?我使用bash脚本和cron,但它似乎非常优雅。它实际上使用FTP连接到网站,因此它可以下载所有必要的配置文件,并将它们放在该游戏和时间的文件夹中。我想知道是否有更好的方法来做到这一点。也许用C编写一个程序,但我不知道该怎么做。

(我不是要求有人握住我的手并告诉我“在这里编写此代码”,只是一些更好的方法来解决这个问题的想法)

非常感谢你们!

编辑:网络服务器是一个完全不同的机器。我理论上想要拥有多个游戏服务器,每个游戏服务器都将“连接”(目前是FTP)连接到网络服务器,获取一个文件说明它在特定时间必须做什么并下载任何相关文件然后断开连接。 / p>

2 个答案:

答案 0 :(得分:0)

我认为at更适合运行一次性工作而不是cron。

为了更好地下载文件等,你应该提供更多关于你的设置的细节(比如,网站和游戏服务器,它们是在同一台机器上?还是在同一个网络上?等等。

答案 1 :(得分:0)

您需要一个分布式任务调度程序。有了它,你可以:

  1. 安排命令“X”在特定时间运行。
  2. 指定机器(或要求机器从可用机器池中挑选机器)
  3. 当用户选择游戏服务器和时间时,Web服务器将通过命令行或Web服务向此调度程序发送请求。

    您可以查看:http://www.acelet.com/super/SuperWatchdog/index.html

    编辑:

    还有一个选项:http://jobscheduler.sourceforge.net/