必要な情報を検索してきましたが、これまで成功していませんでした。
私が毎日やりたいことは次のとおりです。
- Minecraftサーバーは、コンピュータが起動するたびに起動します。 (私はこれに対するシェルコマンドを書いています。)
- 午前8時に「stop」というテキストがサーバーに送信され、正常に停止します。
- 午前8時2分にコンピュータが再起動されました。
理想的には、コマンドを入力してリモート端末を介してサーバーにコマンドを送信できるウィンドウをデスクトップに開きます。
どうすればいいですか?sudo crontab -e
Minecraftサーバーを実行するために必要なスーパーユーザーアクセスを許可するために使用する方法に関する情報が見つかりました。名前付きパイプの使用方法も見てきましたが、正しく機能しません。を使用して作成できますが、mkfifo mcserver
他の端末でパイプを開かないとブロックされます。私はingコマンドscreen
とpidに基づいてディレクトリを調べましたが、うまくいくことはecho
できませんでした。 PIDをどのように検出して保存できますか?
ご協力ありがとうございます。とても感謝しています。私は長い間この問題で苦しんでいましたが、それを見つけることができないようです。
答え1
使用このスクリプト
次に、次のようにcrontabをrootに設定します。
0 8 * * * service minecraft stop
2 8 * * * reboot
その後実行
chkconfig minecraft on
起動時に自動的に起動するようにMinecraftサービスを追加します。
答え2
あなたできる「netcat」を試してみてください...
nc -l -p <port> -e /bin/bash
私はこれが何らかの方法で安全であるとは言えず、必ずしも容認できません。デフォルトでは、これはBASHシェルを選択したポートにバインドします。これは「リバースシェル」と呼ばれ、ファイアウォールが正しく構成されていないとシステムが脆弱になる可能性が高くなります。 [iptables]または他の方法。
したがって、netcatを使用して、次の方法でコンピュータにリモートで接続できます。
nc <remote_ip> <port>
そしてコマンドを送信するためのインターフェースを提供します。
別のアプローチは、リモートで接続して視覚的に管理できるように、受信VNCサーバーを実行するスクリプトを作成することです。これらのオプションはすべてリモートで接続して[サーバーで]ポートを開くときに注意が必要です。
私はそれがあなたが求めているものだと思います。小さなBASHスクリプトを作成するのは冷たいお粥です。または、.rcファイルに追加すると自動的に実行されます。