我已经探索了完成这两项工作的选项,但是没有明确的方法可供我实施。
我想做的是:
这些是详细信息:
非常感谢帮助,
由于
答案 0 :(得分:1)
要重新启动服务器,您可以使用crontab(https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job),将其时间设置为一天并编写脚本以执行重新启动。要在启动时运行命令,您还可以使用init.d或任何其他方法( https://askubuntu.com/questions/48321/how-do-i-start-applications-automatically-on-login)因为第二个命令是应用程序,它将保持活动状态。
答案 1 :(得分:0)
所有这些行动都可以通过cron完成。
在特定时间重启(在系统crontab中,为了指定用户):
20 7 * * * root shutdown -r now
另外,如果你想从用户crontab执行此操作,则必须使用sudo启动命令(并且应该禁用该操作的请求密码);或者只是将此命令添加到root的crontab中。
在cron守护程序启动时启动所需的命令(即在系统重启后)。添加到用户的crontab(或系统一,但指定所需的用户名):
@reboot cd steamcmd/css && ./srcds_run -game cstrike -maxplayers 12 - port 27015 +map map_name
上一个命令将保持活动状态。
您可以在此处找到更多详细信息:http://manpages.ubuntu.com/manpages/precise/man5/crontab.5.html
答案 2 :(得分:0)
要做到这一点,我们应该创建服务init.d脚本,以便能够在任何时候控制我们的应用程序。
警告:本指南仅适用于Ubuntu,可能是debian
而不是start-stop
在RedHat系统系列和克隆上使用systemd
守护进程
下面的一个小指南(sds - Source Dedicated Server,缺乏幻想:)):
#!/bin/bash
### BEGIN INIT INFO
# Provides: sds
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description: Control Source Dedicated Server
### END INIT INFO
DAEMON_NAME="Source Dedicated Server"
WORKDIR="steamcmd/css"
CMD="./srcds_run -game cstrike -maxplayers 12 - port 27015 +map map_name"
USER=steam
PIDFILE=/var/run/sds.pid
daemon_status(){
start-stop-daemon --status --quiet --pidfile $PIDFILE
}
start(){
start-stop-daemon --start --pidfile $PIDFILE -b -m --chdir $WORKDIR --exec /usr/bin/sudo -- -u $USER $CMD
sleep 2
daemon_status
if [ $? -eq 0 ]; then
echo "$DAEMON_NAME started ok"
else
echo "$DAEMON_NAME start failed"
fi
}
stop(){
start-stop-daemon --stop --quiet --pidfile $PIDFILE
RET=$?
if [ $RET -eq 0 ]; then
rm -f $PIDFILE
echo "$DAEMON_NAME stopped"
else
echo "$DAEMON_NAME stopping failed"
fi
}
status(){
daemon_status
if [ $? -eq 0 ]; then
echo "$DAEMON_NAME is running"
else
echo "$DAEMON_NAME is stopped"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "sds [start|stop|status]"
esac
调整crontab,如:
* 23 * * * / usr / sbin / service sds restart
我们刚刚做了什么:
要正常使用,请将WORKDIR
调整为完整路径,然后自定义CMD
和USER