BASH Programming - Введение

       

Сопровождение


Содержание в рабочем состоянии.

Существует только одна задача по сопровождению named, кроме содержания его запущенным на машине. Это регулярное обновление файла root.hints. Наиболее легкий путь-- это использование программы dig. Сначала запустите dig без аргументов и вы получите файл root.hints, соответствующтй вашим данным. Затем запросите один из перечисленных корневых серверов, выполнив команду dig @rootserver. Вы заметите, что вывод этой команды выглядит ужасно похоже на файл root.hints. Сохраните выводимые данные в файл (с помощью команды dig @e.root-servers.net . ns >root.hints.new) и замените этим файлом старый файл root.hints.

Помните, что необходимо перезапустить named после замены файла.

Al Longyear послал мне этот скрипт, который может быть автоматически запущен для того, чтобы обновлять файл root.hints, создайте запись в crontab для запуска его раз в месяц и забудьте про него. В скрипте предполагается, что почтовая система работает и что определен почтовый алиас `hostmaster'. Вы должны подправить этот скрипт для соответствия вашим настройкам.

#!/bin/sh # # Обновляет информацию кеша сервера имен раз в месяц. # Он автоматически запускается раз в месяц с помощью cron. # # Original by Al Longyear # Updated for bind 8 by Nicolai Langfeldt # Miscelanious error-conditions reported by David A. Ranch # Ping test suggested by Martin Foster #

( echo "To: hostmaster <hostmaster>" echo "From: system <root>" echo "Subject: Automatic update of the named.conf file" echo

PATH=/sbin:/usr/sbin:/bin:/usr/bin: export PATH cd /var/named

# Мы подключены? проверка подключения к серверу вашего ISP case `ping -qnc some.machine.net` in *'100% packet loss'*) echo "The network is DOWN. root.hints NOT updated" echo exit 0 ;; esac

dig @rs.internic.net . ns >root.hints.new 2>&1

case `cat root.hints.new` in *NOERROR*) # It worked :;; *) echo "The root.hints file update has FAILED." echo "This is the dig output reported:" echo cat root.hints.new exit 0 ;; esac

echo "The named.conf file has been updated to contain the following information:" echo cat root.hints.new

chown root.root root.hints.new chmod 444 root.hints.new rm -f root.hints.old mv root.hints root.hints.old mv root.hints.new root.hints ndc restart echo echo "The nameserver has been restarted to ensure that the update is complete." echo "The previous root.hints file is now called /var/named/root.hints.old." ) 2>&1 | /usr/lib/sendmail -t exit 0

Некоторые из вас заметили, что файл root.hints также доступен по ftp с сервера Internic. Пожалуйста не используйте ftp для обновления файла root.hints, вышеприведенный метод более дружелюбен по отношению к сети.



Содержание раздела