Documentação Upstart para o CentOS 6

5

No momento, estou migrando do CentOS 5.5 para o 6.4. Divertir-se a converter coisas do / etc / inittab para o upstart. Corri para um monte de pequenos problemas, mas estou pegando o jeito agora. A melhor documentação que encontrei é para o Ubuntu:

link

Foi útil em vários problemas iniciais que encontrei. O único problema é que alguns dos itens do ubuntu não funcionam com o CentOS (não é possível fazer com que a função logger funcione, mas encontrou uma maneira de contornar isso com 'exec > / dev / kmsg 2 > & 1').

Existe alguma documentação específica do CentOS disponível para ajudar com scripts iniciantes? O CentOS precisa do mesmo documento que o Ubuntu tem ... Argg !!

Desde que sou novo em upstart, ainda não sei quais são as melhores práticas. O script abaixo parece funcionar muito bem também. Quaisquer comentários sobre isso são bem-vindos ... THX !!

Aqui está um script que inicia os TTYs para o serviço de discagem de modem para o servidor. Pode lançar TTYs para modems conectados por USB, Serial, banco de modem de rede (Digi Port Server). Ele usa um arquivo mantido por um administrador para especificar quais ttys devem ser iniciados:

/etc/init/ssi-ttys.conf:

start on stopped rc RUNLEVEL=[2345]

task
script
  #--------------------------------------------------------------------
  # The following exec will send the data to the kernels ring buffer.
  # Once the syslog daemon starts, this data will be redirected to the
  # system log file. So, the echo below will be written out to
  # /var/log/messages. Helps out a ton when you need to debug these
  # scripts.
  #--------------------------------------------------------------------
  exec >/dev/kmsg 2>&1
  re="^#"
  while read line
  do
    tty=
    identifier=
    # Proccess /etc/ssi-init-ttys.conf lines without comments
    if [[ ! $line =~ $re ]]
    then
      set $line
      tty=$1
      identifier=$2
      echo "Starting TTY ($tty) ($identifier) using ssi-tty.conf"
      #-----------------------------------------------------------------
      # Remember that Upstart runs every script section using /bin/sh -e.
      # This means that if any simple command fails, the shell will exit.
      # So, this is why || true is added to the start so if one of the
      # TTYs is already running (Which would normally cause an exit,
      # the loop will continue and start other TTYs without exiting.
      # Add || true to any system command that might return a code other
      # than 0.
      #------------------------------------------------------------------
      initctl start ssi-tty TTY=$tty IDENTIFIER=$identifier || true
    fi
  done </etc/ssi-init-ttys.conf
end script

/etc/init/ssi-tty.conf:

stop on runlevel [S016]

respawn
respawn limit 5 10
# There's an automatic limit set to this: if a process is respawned more
# than 5 times within 10 seconds, it will be stopped and not restarted.
# Check /var/log/messages and /var/log/mgetty.log.<tty> for error messages
instance $TTY
script
  # Regex for serial and USB ttys
  reg1="ttyUSB"
  reg2="ttyS"
  m_flg=""
  # Check for USB or serial ttys which use the -D flag for mgetty 
  if [[ $TTY =~ $reg1 ]] || [[ $TTY =~ $reg2 ]]
  then
    # Use -D flag with mgetty for ttyUSB and ttyS ports
    m_flg="-D"
  fi
  exec /sbin/mgetty $m_flg $TTY $IDENTIFIER
end script
usage 'ssi-tty TTY=ttyX IDENTIFIER=Z  - ttyX is the tty id and Z is the /etc/gettydefs identifier'

/etc/ssi-init-ttys.conf:

# Serial port TTY
ttyS0 9
# USB port tty
ttyUSB0 9
# Digi port tty
ttyA18 9

Nota: 9 indica o identificador apropriado de / etc / gettydefs para usar no tty.

    
por GoinOff 06.03.2014 / 17:27

1 resposta

5

Não se preocupe com upstart , RHEL (e, portanto, o CentOS) está migrando para systemd para a versão 7. Até mesmo o Ubuntu decidiu se livrar de upstart (veja este post de blog por Mark Shuttleworth ).

    
por 06.03.2014 / 17:40