init.d 스크립트를 설치하는 방법?


71

작업 예약을 위해 셀러리를 실행하기 위해 init.d 스크립트를 설치하려고합니다. 내가 따르는 단계는 다음과 같습니다.

  • 셀러리 파일을 복사하여 /etc/init.d/ 폴더에 붙여 넣습니다.
  • / etc / default / 폴더에 celeryd 구성 파일을 작성했습니다.

이제부터 시작하려고하면 sudo /etc/init.d/celeryd start오류가 발생합니다.sudo: /etc/init.d/celeryd: command not found

init.d를 설치하는 방법에 대해 Google에서 검색했습니다 . 이 SO 질문이 있습니다.

그것은 발행하고 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

또한 insservinit.d 스크립트를 활성화하는 것과 같이 utils 를 사용 한다고 말합니다 .

insserv /etc/init.d/celeryd 하지만 오류가 발생합니다. insserv: command not found

그래서 insserv 설치하려고했습니다 sudo 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 스크립트를 설치하는 방법 ?? 도움을 주시면 감사하겠습니다.

update1 :

내가 시도했을 때 :

$ sh -x /etc/init.d/celeryd start

그것은 일부를 공개합니다 errors. 서비스가 시작되지 않는 이유 일 수 있습니다.

update2 :

실행할 때 모든 오류를 해결 $ sh -x /etc/init.d/celeryd start했지만 여전히 오류 sudo /etc/init.d/celeryd startcommand not found발생합니다.


나는 지금 대답 할 시간이 없지만, 이것을 시작의 일부로 실행하려면 Linux가 시작 및 중지를 처리 ​​할 수 ​​있도록 다양한 실행 레벨 디렉토리에 스크립트에 대한 링크를 추가해야한다고 생각합니다. 당신. (/etc/rc[0-6].d)이 프로세스는 점차 새로운 방법으로 바뀌고 있지만 (upstart라고 생각합니다.) 전혀 조사하지 않았습니다. 게시물의 링크가이 중 일부를 처리합니다.
Joe

답변:


55

귀하의 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두 번째 행은 파일의 소유자 및 그룹 소유자가임을 확인합니다 root.

이 작업이 완료되면 sudo /etc/init.d/celeryd start데몬을 시작하는 데 사용해야한다고 가정합니다 .


70

스크립트를 제자리에 복사 할 때 스크립트를 실행 가능하고 루트가 소유하도록하는 것을 잊지 마십시오.

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

이것이 가장 좋은 답변으로 간주됩니다 update-rc.d.
MAChitgarha

3

command not found실행할 때 오류가 발생하면 insserv다음 명령 을 실행 하여 오류를 해결할 수 있습니다.

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

그런 다음 insserv -h또는 man insserv도움을 요청하십시오.

또한 당신은 시도 할 수 있습니다 :

sudo update-rc.d celeryd defaults

출처 : https://askubuntu.com/a/334043/147044


1

다음은 부팅시 데몬을 자동 시작하는 명령 순서입니다.

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.