Como adicionar um ntpd compilado em serviços no linux?

1

Eu compilei e instalei ntp-4.2.8 usando este link e criei um rpm executando checkinstall on RHEL 6.5 .

Eu usei o comando ntpd -l logs para iniciar manualmente o ntpd.

Depois de iniciar, posso verificar o ntp usando comandos:

bash-4.1#  ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 209.118.204.201 .INIT.          16 u    -   64    0    0.000    0.000   0.000
 66.228.42.59    .INIT.          16 u    -   64    0    0.000    0.000   0.000
 97.107.129.217  .INIT.          16 u    -   64    0    0.000    0.000   0.000
 198.60.22.240   .INIT.          16 u    -   64    0    0.000    0.000   0.000
bash-4.1#

Ao executar o chkconfig, ele gera um erro:

bash-4.1# chkconfig --list ntpd

error reading information on service ntpd: No such file or directory

verificou o caminho /etc/init.d e descobriu que ntpd nome do serviço não está presente nele.

Agora copiei o binário ntpd em /etc/init.d location e executei o comando:

service ntpd start

Agora consigo ver o processo ntpd sendo executado

bash-4.1# ps -aef | grep ntp
root     12409 20389  0 08:16 pts/2    00:00:00 grep ntp
root     30522     1  0 08:03 ?        00:00:00 /etc/init.d/ntpd start

Mas quando executo o comando services, não vejo nenhum serviço ntpd em execução

bash-4.1# service --status-all | grep ntpd
bash-4.1#

e novamente tentou o comando chkconfig :

bash-4.1# chkconfig --list ntpd
service ntpd does not support chkconfig

Agora tentei adicioná-lo usando o comando chkconfig e novamente ele gera um erro:

bash-4.1# chkconfig --add ntpd
service ntpd does not support chkconfig

Mas quando eu instalo o ntp-4.2.6p5-1.el6.x86_64.rpm do iso , ele é automaticamente adicionado no arquivo init.d e é iniciado por conta própria.

Onde e como devo criar a entrada para ntp-4.2.8 para que ela seja iniciada automaticamente como um serviço.

    
por Vikram Singh 26.12.2014 / 11:24

1 resposta

1

Aqui está o meu arquivo init - você pode tentar isso, verificar seus caminhos etc. estão corretos;

#!/bin/bash
#
# ntpd          This shell script takes care of starting and stopping
#               ntpd (NTPv4 daemon).
#
# chkconfig: - 58 74
# description: ntpd is the NTPv4 daemon. \
# The Network Time Protocol (NTP) is used to synchronize the time of \
# a computer client or server to another server or reference time source, \
# such as a radio or satellite receiver or modem.

### BEGIN INIT INFO
# Provides: ntpd
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Should-Start: $syslog $named ntpdate
# Should-Stop: $syslog $named
# Short-Description: start and stop ntpd
# Description: ntpd is the NTPv4 daemon. The Network Time Protocol (NTP)
#              is used to synchronize the time of a computer client or
#              server to another server or reference time source, such
#              as a radio or satellite receiver or modem.
### END INIT INFO

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

prog=ntpd
lockfile=/var/lock/subsys/$prog

start() {
        [ "$EUID" != "0" ] && exit 4
        [ "$NETWORKING" = "no" ] && exit 1
        [ -x /usr/sbin/ntpd ] || exit 5
        [ -f /etc/sysconfig/ntpd ] || exit 6
        . /etc/sysconfig/ntpd

        # Start daemons.
        echo -n $"Starting $prog: "
        daemon $prog $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch $lockfile
        return $RETVAL
}

stop() {
        [ "$EUID" != "0" ] && exit 4
        echo -n $"Shutting down $prog: "
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f $lockfile
        return $RETVAL
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status $prog
        ;;
  restart|force-reload)
        stop
        start
        ;;
  try-restart|condrestart)
        if status $prog > /dev/null; then
            stop
            start
        fi
        ;;
  reload)
        exit 3
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
        exit 2
esac

para verificar seu chamado no nível de execução correto que você precisa fazer chkconfig --add ntpd e chkconfig ntpd on e permitir executar priv com chmod +x ntpd

    
por 18.01.2015 / 21:26