GNU/Linux >> Linux の 問題 >  >> Linux

@reboot が CRON で機能しない

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 出力により、問題の根本原因を突き止めることができます。


Linux
  1. 10の便利なsystemdコマンド:リファレンス

  2. LinuxでSystemdサービスを作成する方法

  3. Linuxsystemdに新しいサービスを追加する

  1. / etc /environmentのEnvVarsはグローバルに表示されませんか?

  2. R 3.5.0 Ubuntu 18.04で動作しませんか?

  3. Crontab の問題:パーセンテージを使用すると Cron ジョブが機能しない

  1. systemctl:コマンドが見つかりません

  2. サービス:コマンドが見つかりません

  3. chkconfig:コマンドが見つかりません