Como posso iniciar e parar um serviço usando o comando “service”, em vez de “/etc/init.d/nameofservice start”?

0

Estou iniciando um serviço (httpd) usando este comando:

/etc/init.d/'name of service' start

Como posso iniciar um serviço usando o comando abaixo, se a palavra-chave do serviço não estiver configurada para o serviço httpd acima?

2) serviço 'nameofservice' iniciar, por exemplo: serviço httpd start

Como posso configurar um serviço que pode iniciar e parar usando a palavra-chave service, por exemplo: "service 'nameofservice' start" (palavra-chave de serviço como na opção 2) em vez de /etc/init.d/nameofservice?

    
por zahid 14.04.2017 / 20:48

2 respostas

0

Abaixo do script testado no Centos 5. Vamos criar um script que imprima a data e hora atuais e direcione a saída para o arquivo de log e salve com o nome cronometrado.

vim /opt/timed     


 #!/bin/bash 
while true;do
      echo  'date' >> /tmp/timed.log 
done #script finish here below line enable execute permission of script

 chmod +x /opt/timed

Agora vamos escrever o script do System V para iniciar e parar o script cronometrado.

vim /etc/init.d/time (save the script only in /etc/init.d directory only with the name of your choice we use name time here)


  #!/bin/bash  
  # chkconfig: 345 80 20      
  # description: startup script for /opt/timed daemon  
start() {  
nohup /opt/timed &  
}  
stop() {  
pkill timed  
}  
case "$1" in  
             start)   
                   start  #calling the start () function  
             ;;  
             stop)  
                   stop # calling the stop() function
             ;;  
             *)
                   echo "Usage: $0 {start|stop}"  
                   RETVAL=1 #we return the value 1 bcz cmd is not sucessfull  
  esac
  exit 0



 chmod +x /etc/init.d/time  (enabling the execute permission of script)
 service time start    (it will start the script timed)
 ps –ef | grep timed (we can check that script is running with this command)

Explicação do script

O script de hora deve estar no diretório /etc/init.d . chkconfig: 345 80 20 é componente necessário do script 345 representa o 3,4 & 5 runlevels. 20 significa que o comando start terá o número 20 (S20) no diretório / etc / rc3 /. 80 significa que o comando stop terá o número 80 (k80) no diretório / etc / rc3 /.

start() e stop() são funções para iniciar e parar o daemon. Quando você executa um trabalho Unix em segundo plano (usando o comando & amp ;, bg) e faz logout da sessão, seu processo será eliminado. Você pode evitar isso usando vários métodos - executando o trabalho com nohup ou fazendo-o como um trabalho em lote usando o comando at, batch ou cron. O comando PKill permite que você mate um programa simplesmente especificando o nome. $ 1 leva o primeiro argumento. $ 0 significa o nome do script. RETVAL é a variável de ambiente que é como o status de saída do script, se ele for executado com êxito e o script 1 não for executado com êxito. Se especificarmos o comando diferente de iniciar ou parar, a mensagem de uso será impressa.

    
por 25.11.2017 / 17:20
1

O comando service (8) procura por um script em /etc/init.d. Se não existir tal script, talvez seja necessário escrever o seu próprio. Na web, você pode encontrar guias que ajudarão você a fazer isso .

    
por 14.04.2017 / 21:13

Tags