Como especificar a ordem dos scripts de inicialização (CLI)?

2

A inicialização realmente me confunde. Parece que vários métodos para começar as coisas acontecem em locais diferentes em todo o lugar. Mas existe uma maneira de definir a ordem em que eles são carregados?

Especificamente ... Eu tenho um problema em que o Plex Media Server (PMS) não pode ser descoberto por clientes se a conexão VPN do servidor for estabelecida antes da inicialização do PMS. Isso estava me enlouquecendo, mas descobri que poderia resolver o problema desligando o PMS, desligando a VPN, ligando o PMS e, em seguida, ligando a VPN.

Eu não sei exatamente como o PMS é carregado automaticamente na inicialização, mas a VPN é algo que eu defini editando: /etc/network/if-up.d/slickvpn com o seguinte:

#! /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

Esse é um script que encontrei em algum lugar (acho que neste site) ao procurar ajuda para autoconectar uma VPN.

Então eu acho que /etc/network/if-up.d/ scripts são iniciados antes do serviço PMS. Como posso virar isso? Ou outra solução?

    
por bcsteeve 09.11.2013 / 21:10

1 resposta

1

Acho que você pode querer dar uma chance ao início. Você pode impedir que o servidor VPN inicie nos scripts ifupdown (mover o arquivo para outro local) e, em seguida, criar alguns trabalhos iniciantes.

Crie (ou modifique se já existir, você deve pesquisar em /etc/init ) o arquivo de inicialização do PMS em /etc/init e preencha-o (** se já estiver presente, anote o nome do% arquivo.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

Este é um script inicial muito básico. Você deve adicionar / modificar as coisas. Agora o outro script:

Crie o arquivo /etc/init/vpn.conf e preencha-o com o seguinte conteúdo

# 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

Feito.

    
por Braiam 09.11.2013 / 21:43