小さなminecraftサーバーを実行しています。
サーバーの起動時にLubuntuに次のスクリプトを実行させます。ログイン時および再起動時ではありません(もちろん、起動している場合を除く)。
スクリプトは現在次の場所にあります。
/home/mc/server/craftbukkit.sh
スクリプトを手動で起動するには、dirに移動して./craftbukkit.sh
と入力します。しかし、マシンが起動したときにスクリプトを実行したいと思います。
私はMinecraftサーバーをdebian端末から実行していますが、これはおそらく間違った方法ですが、動作します。最初にSudo apt-get install screen
、次に次のスクリプトを/etc/init.d/minecraft
として保存します。
#!/bin/bash
case "$1" in
start)
screen -S minecraft /home/mc/server/craftbukkit.sh
echo "Server started on screen minecraft"
;;
stop)
screen -X -S minecraft kill
echo "Server shutting down"
;;
*)
echo "Usage: /etc/init.d/minecraft {start|stop}"
exit 1
;;
esac
exit 0
ここで、次のコマンドをrootとして実行します。
update-rc.d -f minecraft defaults
これにより、システムの起動時にminecraftサーバーがバックグラウンドで実行されます。コンソールを表示するには、ターミナルでscreen -x minecraft
を実行します。コンソールを終了するには、Ctrl + Aを押してからDを押します。
最新のUbuntuでは、次のようにしてください。/etc/init/bukkit.conf
(.confはすべて)、
description "Some Java server"
author "Moi <[email protected]>"
start on runlevel [2345] # change start / stop level if needed
stop on runlevel [016]
pre-start script
echo "script is abort to start"
end script
exec /path/to/script param1 param2
post-start script
echo "script is started" # if you needed any post-start hack
end script
ubuntu/lubuntuには、「スタートアップアプリケーション」というメニュー項目があるはずです。私のubuntuサーバーでは、「システム>設定>スタートアップアプリケーション」メニューにあります。それはgnomeにありますが、もっと微笑むべきです。追加ボタンを選択し、それにminecraftのような名前を付け、チェックボックスが開始することを確認してください。
これはハードコアLinuxソリューションではないかもしれませんが、有効になっているかどうかを確認し、必要に応じて無効/有効にする簡単な方法を提供します。
Docker私はDockerfileを作成して--restart = alwaysタグを付けて実行することを好みます
シェルスクリプトをブート時に実行する場合次に、unixのcrontabを使用します。非常に使いやすく、数分で構成できます。
Crontabを編集して次のコマンドを実行し、「USER」をノードプロセスの目的のランタイムユーザーに置き換えます。自分以外のユーザーを選択した場合は、これをSudoで実行する必要があります。
$ crontab -u USER -e
エディターに入ったら、次の行を追加します。
@reboot sh /home/mc/server/craftbukkit.sh
#1のチェックコマンドでファイルが保存されたことを再度確認して保存
注:私の意見では、問題を防ぐためにcrontabファイルでフルパスを使用する必要があります
このURLリファレンスを参照できます buntu Cron HowTo