시작 스크립트(CLI)의 순서를 지정하는 방법은 무엇입니까?

시작 스크립트(CLI)의 순서를 지정하는 방법은 무엇입니까?

스타트업은 정말 혼란스럽습니다. 일을 시작하는 다양한 방법이 곳곳의 다른 위치에서 일어나는 것 같습니다. 하지만 로드되는 순서를 정의하는 방법이 있나요?

특히... PMS가 시작되기 전에 서버의 VPN 연결이 설정된 경우 클라이언트가 PMS(Plex Media Server)를 검색할 수 없는 문제가 있습니다. 그것은 나를 미치게 만들었지만 PMS를 종료하고 VPN을 종료하고 PMS를 켠 다음 VPN을 켜면 문제를 해결할 수 있음을 발견했습니다.

시작 시 PMS가 자동으로 어떻게 자동 로드되는지는 정확히 모르겠지만 VPN은 /etc/network/if-up.d/slickvpn을 다음과 같이 편집하여 정의한 것입니다.

#! /bin/bash

REQUIRED_CONNECTION_NAME="Wired connection 1"
VPN_CONNECTION_NAME="myvpn"

activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

이는 VPN 자동 연결에 대한 도움말을 찾을 때 어딘가(이 사이트에서 찾은 것 같습니다)에서 찾은 스크립트입니다.

그래서 /etc/network/if-up.d/ 스크립트는 PMS 서비스 이전에 시작되는 것 같습니다. 어떻게 뒤집을 수 있나요? 아니면 다른 해결책?

답변1

대신 신생 기업을 시도해 보는 것이 좋을 것 같습니다. ifupdown 스크립트에서 VPN 서버의 시작을 중지한 다음(파일을 다른 곳으로 이동) 일부 시작 작업을 수행할 수 있습니다.

/etc/initPMS 시작 파일을 생성(또는 이미 있는 경우 수정 ) /etc/init하고 입력합니다(**이미 있는 경우 파일 이름을 기록해 두십시오 .conf).

# pms - Plex Media Server

description "Plex Media Server"

start on (local-filesystems and net-device-up IFACE!=lo)
## here you can define what interface you can wait, just change IFACE!=lo for IFACE=eth0, etc.

## This stops the job at shutdown
stop on runlevel [!2345]

script
    exec /path/to/pms/server/binar
end script

이것은 매우 기본적인 시작 스크립트입니다. 주변에 있는 것들을 추가/수정해야 합니다. 이제 다른 스크립트는 다음과 같습니다.

파일 을 생성 /etc/init/vpn.conf하고 다음 내용으로 채웁니다.

# vpn - Virtual Private Network server

description "Virtual Private Network server"

start on started plexmediaserver
## now, the VPN server will only start if PMS starts :D

## This stops the job at shutdown you can modify it and make it to stop before stoping PMS
stop on runlevel [!2345]

env REQUIRED_CONNECTION_NAME="Wired connection 1"
env VPN_CONNECTION_NAME="myvpn"

export REQUIRED_CONNECTION_NAME
export VPN_CONNECTION_NAME

script
    exec /usr/bin/nmcli con up id "${VPN_CONNECTION_NAME}"
end script

완료.

관련 정보