서비스 명령 cron을 찾을 수 없습니다

서비스 명령 cron을 찾을 수 없습니다

부팅 시 icecast2 서비스를 시작해야 합니다.

시작 시 실행되도록 하기 위해 crontab(루트)에 다음 줄을 추가했습니다.

@reboot service icecast2 start >/home/pi/logs/icecast2.log 2>&1

다시 시작한 후 서비스가 실행되지 않고 다음 오류가 발생합니다.

/bin/sh: 1: 서비스: 찾을 수 없음

그래서 나는 이것을 따랐다.답변유사한 스레드에서 제안된 대로 전체 경로를 추가했습니다.

@reboot service /usr/bin/icecast2 start >/home/pi/logs/icecast2.log 2>&1

하지만 이제 다음 오류가 발생합니다.

usr-bin-icecast2.service.mount를 시작할 수 없습니다. usr-bin-icecast2.service.mount 장치를 찾을 수 없습니다.

노트:

  • 이것을 입력하면 sudo service icecast2 start작동합니다 .
  • 라즈베리파이에서 데비안 스크래치 사용하기

답변1

cron서비스를 시작하기 위해 을 사용할 필요는 없습니다 .

필요한 것은 이것뿐입니다:

systemctl enable icecast2

부팅할 때마다 시작됩니다.

답변2

프로그램 에서는 인수 1 이 디렉터리의 실행 파일 service일 것으로 예상합니다 . /etc/init.d/crontab 파일에서 icecast2 실행 파일의 경로를 지정합니다.

Debian/Unix의 init 시스템을 읽어야 합니다. AFAIK, 데비안은 systemd부팅 시 서비스 시작을 담당하는 사실상의 표준 init 시스템을 사용 하고 이제는 다음과 같이 서비스를 제어하는 service​​systemd 에 대한 래퍼 스크립트를 사용 합니다.systemctlUnits

systemctl start icecast2

하지만 service여전히 이전 init 시스템( .init 라고 함)과 역호환되므로 sysvinit계속 service사용할 수 있습니다 systemctl.

cron을 통해 서비스/데몬을 시작하는 것은 권장되지 않습니다. 사실상의 표준은 더 나은 구조와 더 많은 기능을 제공하는 시스템 단위를 정의하거나 /etc/rc.d커널이 특정 실행 수준("시작 상태")에 도달하면 레거시 실행 수준 스크립트를 사용하는 것이기 때문입니다.

위에서 언급한 용어를 온라인으로 검색하여 즐거운 시간을 보내시기 바랍니다.

관련 정보