web-dev-qa-db-ja.com

起動時にスクリプトファイルを開始する方法

小さなminecraftサーバーを実行しています。

サーバーの起動時にLubuntuに次のスクリプトを実行させます。ログイン時および再起動時ではありません(もちろん、起動している場合を除く)。

スクリプトは現在次の場所にあります。

/home/mc/server/craftbukkit.sh

スクリプトを手動で起動するには、dirに移動して./craftbukkit.shと入力します。しかし、マシンが起動したときにスクリプトを実行したいと思います。

7
John Palmer

私は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を押します。

5
Suchipi

最新の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

詳細はこちら

6
daisy

ubuntu/lubuntuには、「スタートアップアプリケーション」というメニュー項目があるはずです。私のubuntuサーバーでは、「システム>設定>スタートアップアプリケーション」メニューにあります。それはgnomeにありますが、もっと微笑むべきです。追加ボタンを選択し、それにminecraftのような名前を付け、チェックボックスが開始することを確認してください。

これはハードコアLinuxソリューションではないかもしれませんが、有効になっているかどうかを確認し、必要に応じて無効/有効にする簡単な方法を提供します。

0
Joe

Docker私はDockerfileを作成して--restart = alwaysタグを付けて実行することを好みます

シェルスクリプトをブート時に実行する場合次に、unixのcrontabを使用します。非常に使いやすく、数分で構成できます。

  1. Crontabを編集して次のコマンドを実行し、「USER」をノードプロセスの目的のランタイムユーザーに置き換えます。自分以外のユーザーを選択した場合は、これをSudoで実行する必要があります。

    $ crontab -u USER -e

  2. エディターに入ったら、次の行を追加します。

    @reboot sh /home/mc/server/craftbukkit.sh

  3. #1のチェックコマンドでファイルが保存されたことを再度確認して保存

    注:私の意見では、問題を防ぐためにcrontabファイルでフルパスを使用する必要があります

このURLリファレンスを参照できます buntu Cron HowTo

0
Chandani Patel