Script de serviço do Systemd não está ecoando

4

Eu recentemente instalei o Fedora 22 em uma máquina e ele está usando o sistema init systemd.

Eu tenho lido sobre isso e agora eu preciso criar um script de inicialização do systemd para postgresql

Para testar, criei o seguinte script de shell, hello_world

#! /bin/sh
#  testing systemctl script

start() {
   echo "Executing Start"
   echo "Testing 01"
   echo "Testing 02"
   echo "Testing 03"
}

stop() {
   echo "Stopping Hello World Script"
}

case "$1" in
   start)
      start
   ;;
   stop)
      stop
   ;;
   restart)
      stop
      sleep 2
      start
   ;; 
   *) exit 1
esac

Quando eu executo usando o terminal, ele faz o que eu espero e ecoa as strings

. hello_world start

Neste echo "Starting Hello World Script", coloquei-o em / usr / lib / systemd / scripts

Depois tentei criar o script de serviço systemd da seguinte forma, hello_world.service

[Unit]
Description=Hello World Testing Script

[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/scripts/hello_world start
ExecStop=/usr/lib/systemd/scripts/hello_world stop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Que eu coloquei dentro de / usr / lib / systemd / system e tentei executar com

systemctl start hello_world.service

Que não deu nenhum erro, mas eu não obtive a string de eco que eu esperava quando executei o script hello_world sozinho.

Então eu não posso dizer se está realmente funcionando, eu perdi alguma coisa? Por que o comando systemctl não está ecoando a string do script?

    
por Trent 06.08.2015 / 17:31

1 resposta

1

Parece que a saída para o script não é enviada para o terminal; em vez disso, é redirecionada para o comando de status

Após o serviço ser executado

# systemctl start hello_world.service

Eu posso ver minhas saídas no status

# systemctl status hello_world.service

Que incluirá quaisquer resultados do script, como abaixo

Apr 28 10:18:00 centos7.adminserv systemd[1]: Starting Hello World Testing S....
Apr 28 10:18:00 centos7.adminserv hello_world[18164]: Executing Start
Apr 28 10:18:00 centos7.adminserv hello_world[18164]: Testing 01
Apr 28 10:18:00 centos7.adminserv hello_world[18164]: Testing 02
Apr 28 10:18:00 centos7.adminserv hello_world[18164]: Testing 03
Apr 28 10:18:00 centos7.adminserv systemd[1]: Started Hello World Testing Sc.... 
    
por 28.04.2017 / 10:26