기존 작업 서비스에 대해 인식할 수 없는 서비스 - Ubuntu 18.04

기존 작업 서비스에 대해 인식할 수 없는 서비스 - Ubuntu 18.04

Ubuntu Server 18.04에서 부팅 시 스크립트를 로드하려고 합니다. 내 .service스크립트는 에 설치되어 /etc/systemd/system있으며 다음을 실행할 수 있습니다.

service my-service start

그리고:

service my-service stop

그러나 부팅 시 다음을 사용하여 실행하려고 하면(웹에 따라 수행해야 함) 다음을 수행합니다.

 service my-service enable

시스템은 다음과 같이 응답합니다.

 my-service: unrecognised service

웹을 검색하면 18.04에 적용되지 않는 이전 버전의 Ubuntu에서 수행하는 방법만 알 수 있으며 답변을 찾기 위한 올바른 용어를 결정할 수 없습니다.

스크립트:

# filename: /etc/systemd/system/my-service.service
[Unit]
Description=My Service
After=network.target
After=mysqld.service

[Service]
User=the-user
WorkingDirectory=/home/the-user/path-to-script
ExecStart=/home/the-user/path-to-script/start.sh
SuccessExitStatus=0
TimeoutStopSec=10
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

내 질문은: 내가 뭘 잘못하고 있는 걸까요? 부팅 시 이 서비스를 어떻게 시작할 수 있나요?

답변1

다음과 같은 실제 명령을 사용 systemd하십시오.

sudo systemctl enable my-service

참고로, 일반 사용자(예: 자신의 사용자)를 위해 실행하려는 경우 유닛 파일의 기본 시스템 디렉터리를 사용할 필요가 없습니다. 다음과 같은 디렉토리에 생성할 수 있습니다.

~/.config/systemd/user/

그러면 다음을 수행할 수 있습니다.

systemctl --user enable my-service

이렇게 하면 다음 작업이 필요하지 않습니다.sudo

귀하의 의견에서 언급했듯이 사용자별 인스턴스를 실행할 때 지시문의 인스턴스 systemdUser없어야 합니다.

답변2

메모:
다른 경우에도 동일한 오류가 발생합니다.
명령 service물체첫 번째 !

service foo start

그만큼systemctl명령은 그 반대입니다.

systemctl start foo

또한 서비스에서는 ".service"를 추가할 수 없지만 systemctl을 사용하면 추가할 수 있습니다.

관련 정보