systemd.service マンページを見てください。サービスを管理するための systemd の設定方法について説明します。あなたのシステムの例が /usr/lib/systemd/system
にあると確信しています。 または同様のパス。
あなたの場合、サービスは次のようになります:
[Unit]
Description=Unturned Game Server
[Install]
WantedBy=multi-user.target
[Service]
ExecStart=/bin/bash /home/steam/start.sh
Type=simple
User=steam
Group=steam
WorkingDirectory=/home/steam
Restart=on-failure
これをファイル /etc/systemd/system/unturned.service
に入れます .次に systemctl daemon-reload
を実行します (一度、そして unturned.service
を変更するたびに systemd に設定を再読み込みするよう指示する) および systemctl start unturned.service
ゲームサーバーを起動します。
それが期待どおりに機能する場合は、 systemctl enable unturned.service
を使用できます 起動時に開始することを確認してください。
使用するオプションに関する注意:
- start.sh がユーザー/グループ
steam
として実行されない場合 、適切に編集してください。 WantedBy
Install
で このセクションでは、systemctl enable を使用してサービスを有効にしたときに、どの「ターゲット」(man systemd.target を参照) がサービスをプルするかを systemd に指示します。Restart
systemd が自動的にサービスを再起動する状況を定義します。再起動関連のオプションは他にもありますが、変更する必要がある場合としない場合があります。 systemd.service の man ページを参照してください。
man 5 crontab
を試す . crontab がサポートされている場合、@reboot、@yearly、@monthly、.、、、
その後、少し睡眠を追加してみてください。
@reboot sleep 60;/root/s3-mount.sh
この StackExchange 投稿で尋ねられ、回答されているように、crond.service のクリティカル チェーンを確認してください
また、この問題に対処するこの FreeDesktop 記事も参照してください。
一般に、systemd は非常に限られた依存関係を持つように構成されており、起動にかかる時間を短縮するために多くのデーモンを並行して開始します。ネットワークが安定した状態にあると想定するコンポーネントがある場合、ネットワークが完全に稼働して機能していることに必ずしも依存していないサービスは失敗します。このような障害は診断が難しい場合がありますが、 systemd-analyze critical-chain
を使用してください と journalctl -xel
出力により、問題の根本原因を突き止めることができます。