タスクをスケジュールするためにセロリを実行するために、init.dスクリプトをインストールしようとしています。ここに私が従った手順があります:
Sudo /etc/init.d/celeryd start
で起動しようとすると、エラーSudo: /etc/init.d/celeryd: command not found
がスローされます
Init.dのインストール方法についてGoogleで調べましたが、これは SO-question です.
それはuname -a
を発行するように言っており、私がそうするとき、私はこれを得る
Linux capsonesystem8-desktop 3.2.0-43-generic-pae
#68-Ubuntu SMP Wed May 15 03:55:10 UTC
2013 i686 i686 i386 GNU/Linux
また、insserv
のようなutilsを使用してinit.dスクリプトを有効にするように指示されているため、試してみました。
insserv /etc/init.d/celeryd
がエラーをスローしますinsserv: command not found
だから私はinsservSudo apt-get install insserv
をインストールしようとしました。しかし、それはaleadyがインストールされていると言います:
insserv is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.
それでは、init.dスクリプトをインストールする方法は?任意の助けをいただければ幸いです。
私が試したとき:
$ sh -x /etc/init.d/celeryd start
いくつかのerrors
を明らかにします。それがサービスが開始されない理由かもしれません。
$ sh -x /etc/init.d/celeryd start
を実行するときにすべてのエラーをクリアしましたが、それでもSudo /etc/init.d/celeryd start
はcommand not found
エラーをスローします
celeryd
スクリプトはおそらく実行可能ではないため、Sudo /etc/init.d/celeryd
はcommand not found
を返します。そのため、最初に実行可能にする必要があります。
これを行うには、次のコマンドを実行します。
Sudo chmod 755 /etc/init.d/celeryd
Sudo chown root:root /etc/init.d/celeryd
最初の行は許可を-rwxr-xr-x
に変更し、2行目はファイルの所有者とグループ所有者がroot
であることを確認します。
これが完了したら、Sudo /etc/init.d/celeryd start
を使用してデーモンを起動する必要があると思います。
スクリプトを所定の場所にコピーするときは、実行可能にし、rootが所有することを忘れないでください。
Sudo chmod +x /etc/init.d/celeryd
Sudo chown root:root /etc/init.d/celeryd
それをインストールしたら、起動時に自動的に起動するように設定できます:
Sudo update-rc.d celeryd defaults
Sudo update-rc.d celeryd enable
insserv
を実行したときにcommand not found
エラーが発生した場合は、次のコマンドを実行して修正できます。
Sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
次に、insserv -h
またはman insserv
を参照してください。
また、試してみることができます:
Sudo update-rc.d celeryd defaults
これは、起動時にデーモンを自動起動するコマンドシーケンスです。
Sudo cd /etc/init.d
Sudo chown root:root celeryd
Sudo chmod 755 celeryd
Sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
Sudo insserv celeryd