Tentando converter o script de inicialização do RHEL6 em systemd

4

Atualmente, tenho um script de inicialização em uma caixa RHEL 6.x que é usada para iniciar vários servidores de licença para um grupo de engenharia.

Cada fornecedor tem seus próprios processos, variáveis de env e outros específicos para iniciar / parar servidores de licenças, então ao longo dos anos eu criei um script START, STOP, STAT para cada aplicativo que mapeia o material específico do fornecedor em um padrão para nosso local. Isso permitiu que eu criasse o seguinte script de init genérico que eu poderia vincular a qualquer aplicativo por meio de um link em /etc/sysconfig/init.d :

#!/bin/bash
#
#   START/STOP/STAT license servers
#
# chkconfig: 345 95 05
# description: Startup/Shutdown license servers

#####################################
#   Who/When/Where
#
WHO='who am i'
WHEN='date'
WHERE='hostname | cut -f1 -d "."'

#####################################
#   Figure out how we were called
#
APPNAME='basename $0 | cut -f2 -d "_"' ; export APPNAME
SERVICELOG="/license/$APPNAME/logs/service.log" ; export SERVICELOG

echo "/etc/init.d/ License Script was ran at: $WHEN app was: $APPNAME command was: $1" >> $SERVICELOG

#################################################
#   Time to call App Specific Executable
#
case "$1" in
      start) su - licadmin /license/$APPNAME/scripts/START
             echo "$APPNAME Daemon Started $WHEN by $WHO on $WHERE" >> $SERVICELOG
              ;;
           stop)
              su - licadmin /license/$APPNAME/scripts/STOP
              echo "$APPNAME Daemon Stopped $WHEN by $WHO on $WHERE" >> $SERVICELOG
              ;;
         status)
              su - licadmin /license/$APPNAME/scripts/STAT
              ;;
 reload|restart)
              $0 stop
              $0 start
              echo "$APPNAME Daemon Restarted $WHEN by $WHO on $WHERE" >> $SERVICELOG
              ;;
              *)
              echo "Usage: $0 {start|stop|status|reload|restart}"
              exit 1
              ;;
esac
exit 0
##########################################################################
#EOF(lic_init)

Eu examinei a documentação do systemd e estou realmente lutando para preservar meu padrão, já que muito do que eu faço "parece" ser nativo do systemd (start / stop / stat) e eu não quero apenas ter um novo serviço systemd que apenas chama meu script Bash.

Alguma idéia de como lidar com minha conversão?

    
por bj2348 18.07.2018 / 18:47

1 resposta

5

Vamos dividi-lo em partes menores:

por 18.07.2018 / 19:08