init (rc.local)

rc.local organizado

Categoria: Init

Software: init

[ Hits: 10.780 ]

Por: Ruan


Esse é meu rc.local que utilizo há anos no Slackware. Deixo aqui para quem quiser usar e adaptar.


#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local startup commands in here.  Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.

# Os serviços são colocados na variável RC.
# Especifique aqui o nome do serviço sem o "rc."
# Esse são os meus serviços locais que uso atualmente
RC=(postgresql vboxdrv)
RC_DIR=$(dirname $0)

for ((i = 0; i <= ${#RC[@]} - 1; i += 1)); do
  if [ -x ${RC_DIR}/rc.${RC[i]} ]; then
    $RC_DIR/rc.${RC[i]} start
  fi
done
  


Comentários
[1] Comentário enviado por lcavalheiro em 05/03/2014 - 10:56h

Tudo bem, mas não era mais fácil mandar um chmod +x?

[2] Comentário enviado por ru4n em 05/03/2014 - 11:30h

Olá, @lcavalheiro

No Slackware, acontece que não basta só jogar um script rc na pasta rc.d, precisa, além de mandar a permissão de execução, fazer uma chamada do script em algum arquivo como o rc.local. Esse script é para organizar melhor os rcs do usuário, pois o modo tradicional eu acho muito bagunçado, ficar escrevendo diversos Ifs para chamar um grupo sequencial de scripts é uma tarefa repetitiva e pouco produtiva.

Com esse meu rc.local, a tarefa é mais automatizada; basta jogar seu script rc na pasta /etc/rc.d, mudar a permissão para 755 e colocar o nome do seu script na variável RC. Exemplo:

mv rc.meu_script /etc/rc.d
chmod 755 /etc/rc.d/rc.meu_script

Depois, no arquivo rc.local, adicionar o "meu_script" na variável RC:
/etc/rc.d/rc.local

RC=( meu_script )

Assim, o script vai ser chamado normalmente como um serviço de inicialização.

Abraços

[3] Comentário enviado por marcelo.helmers em 05/02/2015 - 11:36h

Ru4n,
Por favor, como poderia adaptar aquele meu script que acabou de me ajudar, para esse serviço de inicialização?
Obrigado mais uma vez!

[4] Comentário enviado por ru4n em 05/02/2015 - 13:13h

Olá Marcelo, boa tarde!

Esse rc.local é para a distribuição Slackware, não sei como funciona o sistema de inicialização dos Red Hats/Fedora. Você pode adaptar o script para que funcione no seu sistema, a não ser que o Fedora use o systemd para inicializar os serviços, aí é outro método para por seu script para inicializar.


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts