systemd 서비스를 시작하는 데 문제가 있습니다(Jessie).

systemd 서비스를 시작하는 데 문제가 있습니다(Jessie).

네트워킹이 시작되기 전에 실행해야 하는 시스템 서비스가 있는데 약간의 어려움을 겪고 있습니다. 이에 따르면: 네트워크가 가동된 후 서비스 실행나는 사용해야한다이전=network-pre.target, 그런데 서비스가 시작되지 않습니다.

종속성:

root@server:~# systemctl list-dependencies my-script --reverse
my-script.service
● └─network-pre.target (has a red dot next to it)

실제 장치 자체:

[Unit]
Description=My script
Before=network-pre.target
Wants=network-pre.target

[Service]
ExecStart=/etc/my-script
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

어떤 제안이 있으십니까?

답변1

만족할 수 없는 항목을 나열하므로 Wants= 행을 제거하십시오. network-pre.target 이전과 (Wants) 이후에도 서비스를 시작하십시오. 따라서 단위는 다음과 같이 읽어야 합니다.

[Unit]
Description=My script
Before=network-pre.target

[Service]
ExecStart=/etc/my-script
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

답변2

이것이 나를 위해 일한 것입니다.

[Unit]
Description=@CPACK_PACKAGE_DESCRIPTION_SUMMARY@

Before=network-pre.target
Wants=network-pre.target

DefaultDependencies=no
Requires=local-fs.target
After=local-fs.target

[Service]
Type=oneshot

ExecStart=/sbin/my-script.sh

RemainAfterExit=yes

[Install]
WantedBy=network.target

관련 정보