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.