명령은 터미널에서 작동하지만 시스템 서비스 Ubuntu 18.04 서버로 작동하지 않습니다.

명령은 터미널에서 작동하지만 시스템 서비스 Ubuntu 18.04 서버로 작동하지 않습니다.

터미널과 ./go.sh에서 계속해서 확인했지만 둘 다 작동하지만 서비스로 시작할 수 없습니다. 나는 내가 잘못하고 있다는 것을 알고 있지만 무엇인지 잘 모르겠습니다.

/root/go.sh

#!/usr/bin/env bash
export PATH=/sbin:/usr/sbin:/bin:/usr/bin

/root/goweb/bin/echoip -t=/root/goweb/bin/index.html

그리고


/lib/systemd/system/goweb.service

[Unit]
Description=goweb

[Service]
Type=forking
Restart=always
RestartSec=5s
ExecStart=/root/go.sh

[Install]
WantedBy=multi-user.target

이제 무슨 일이 일어나는지 모르겠습니다. 서비스가 시작되고 중지되고 시작되고 중지됩니다.

Here is the status

goweb.service - goweb
   Loaded: loaded (/lib/systemd/system/goweb.service; enabled; vendor preset: en
   Active: activating (start) since Sun 2020-01-19 19:39:52 UTC; 36s ago
Cntrl PID: 1259 (bash)
    Tasks: 6 (limit: 1151)
   CGroup: /system.slice/goweb.service
           ├─1259 bash /root/go.sh
           └─1268 /root/goweb/bin/echoip -t=/root/goweb/bin/index.html

Jan 19 19:39:52 ip systemd[1]: goweb.service: Service hold-off time over, schedu
Jan 19 19:39:52 ip systemd[1]: goweb.service: Scheduled restart job, restart cou
Jan 19 19:39:52 ip systemd[1]: Stopped goweb.
Jan 19 19:39:52 ip systemd[1]: Starting goweb...
Jan 19 19:39:52 ip go.sh[1259]: echoip: Listening on http://0.0.0.0:8080

답변1

스크립트 go.sh 상단에 추가하세요.

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

더 많은 경로가 필요한 경우 위에 추가하거나 스크립트 또는 명령에 전체 경로를 추가하고 스크립트에서 실행하려고 합니다.

관련 정보