systemd :: condicional Requer que o conteúdo de um arquivo corresponda

1

Eu tenho um serviço (digamos que é chamado xrootd), o que exigiria o início de outro serviço (chamado cmsd) se houver uma certa declaração no arquivo de configuração comum. Existe uma maneira de adicionar um requer se a declaração está presente no arquivo conf?

    
por adrian_sev 10.06.2018 / 11:27

1 resposta

2

A melhor solução que posso pensar é escrever um gerador que simboliza cmsd.service into xrootd.service.requires/ , talvez assim (não testado):

# /etc/systemd/system-generators/xrootd-requires-cmsd
#!/bin/bash
while read -r line; do
    if [[ $line =~ ^CertainDeclaration ]]; then
        requiresCmsd=true
        break
    fi
done
if [[ $requiresCmsd ]]; then
    mkdir -- "$1/xrootd.service.requires/"
    ln -s -t "$1/xrootd.service.requires/" /usr/lib/systemd/system/cmsd.service
fi
    
por 10.06.2018 / 17:16

Tags