Более года назад к нам поступила «система точного времени» в составе аппрат stratum1 (логин-пароль и что там внутри неизвестно), и два сервера stratum 2 (HP proliant dl 360 g5, e5250, 2gb RAM) в качестве программного обеспечентия — slackware linux 10.2 на ядре 2.6.15, не smp...<br />
Поставка и обслуживание — Научно-технический центр Комсет. Из документации ко мне в руки попало только руководство по администированию, остальное — догадайся, мол, сама. Кроме того, в составе системы есть рабочее место оператора или администратора — не важно, суть в том, что под него есть некая обвязка на сервере в виде питонных скриптов и жёстко собирается статистика tcpdump'ом по порту 123, и вдобавок к этому пишется весь трафик по этому же порту в отдельный файл. Это рабочее место воочию увидеть не удалось.
Тем не менее мне поручили техническое сопровождение этого сервера...<br />

Что интересного вкраце:<br />
Таким образом эта ботва запускается.<br />

/usr/local/bin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -l /var/log/ntp.log -g<br />

занятно выглядит скрипт запуска демона сервера времени:<br />

#!/bin/sh
#
# /etc/rc.d/rc.ntpd
#
# Start/stop/restart the NTP time server.
#
#

ntpd_start() {
  if [ -x /usr/local/bin/ntpd -a -r /etc/ntp.conf ]; then
      echo "Starting ntpd..."
#      /usr/local/bin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -l /var/log/ntp.log -g -d -d -d 1>>/var/log/ntpd.log 2>>/var/log/ntpd.log &
      /usr/local/bin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -l /var/log/ntp.log -g
  fi
}

ntpd_stop() {
  killall ntpd
}

ntpd_restart() {
  ntpd_stop
  sleep 2
  ntpd_start
}

case "$1" in
  'start')
      ntpd_start
  ;;
  'stop')
      ntpd_stop
  ;;
  'restart')
      ntpd_restart
  ;;
  *)
      echo "usage $0 start|stop|restart" ;;
esac

то есть никто особо не заморачивается надёжностью и корректностью запуска и останова демона...<br />
Но это, понятно, ещё не всё, для правильной работы нужен конфиг (/etc/ntp.conf):<br />

server 10.32.31.131 minpoll 4
server 10.32.31.135 minpoll 4
server 10.32.31.137 minpoll 4

restrict 127.0.0.1

#driftfile /etc/ntp/drift
logconfig all

кроме того, имеется проверка на предмет «а запущен ли демон?» она реализована путём запуска из крона перлового скрипта - в /var/spool/crontabs/root есть строка:<br />

*/5 * * * * /usr/local/sbin/testntp.pl

ну и собственно сам скрипт:<br />

#!/usr/bin/perl

use Time::Local;
use POSIX qw(strftime);

$log = '/var/log/restart.log';
$res = 0;
$prog = '/usr/local/bin/ntpdc';
$service='/etc/rc.d/rc.ntpd';

open(LOG, ">>$log");
open(INFO, "$prog -c sysinfo|");
while (<info>) {
    if (/system peer:\s+0.0.0.0/) {
    open(STATS, "$prog -c sysstats|");
    while (<stats>) {
        if (/time since restart:\s+(\S+)/) {
        $res = $1;  
        if ( $res > 1000 ) {
            $time = strftime "%b %d %T", localtime;
            print LOG "$time  The system peer is not present. Time since restart: $res s. Restarting ntpd.\n";          
            exec("$service restart");
        }
        }
    }
    }
}
close(LOG);
close(STATS);
close(INFO);
</stats></info>

можно было бы выложить то что там понакрутил комсет, но особо глубокого смысла в этом как-то не видится.<br />

Next Post