Более года назад к нам поступила «система точного времени» в составе аппрат 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 />