부팅 시 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 에 대한 래퍼 스크립트를 사용 합니다.systemctl
Units
systemctl start icecast2
하지만 service
여전히 이전 init 시스템( .init 라고 함)과 역호환되므로 sysvinit
계속 service
사용할 수 있습니다 systemctl
.
cron을 통해 서비스/데몬을 시작하는 것은 권장되지 않습니다. 사실상의 표준은 더 나은 구조와 더 많은 기능을 제공하는 시스템 단위를 정의하거나 /etc/rc.d
커널이 특정 실행 수준("시작 상태")에 도달하면 레거시 실행 수준 스크립트를 사용하는 것이기 때문입니다.
위에서 언급한 용어를 온라인으로 검색하여 즐거운 시간을 보내시기 바랍니다.