Это на память и на будущее, не последний раз потребовалось, вероятно.
После установки (наконец-то) всех доступных обновлений на сервер с панелью Plesk 11 случилось неприятность с сервисом named — он сперва отказывался запускаться, а затем потерял половину данных о доменах.
На этот случай у Parallels есть статья в базе знаний и вложенный shell script для починки named.conf
Одна проблема, они забыли о синонимах доменов, которые в табличке domains не хранятся. Поэтому в нашем случае скрипт восстановил не более половины имевшихся зон.
Я посмотрел структуру базы данных psa, нашел синонимы в табличке domainaliases и подправил скрипт. (скачать dns_rebuild.sh.gz).
#!/bin/sh
ADMIN_PASS=`cat /etc/psa/.psa.shadow`
MYSQL_BIN_D=`grep MYSQL_BIN_D /etc/psa/psa.conf | awk '{print $2}'`
PRODUCT_ROOT_D=`grep PRODUCT_ROOT_D /etc/psa/psa.conf | awk '{print $2}'`
mysql="${MYSQL_BIN_D}/mysql -N -uadmin -p${ADMIN_PASS} psa"
query="select name from domains;"
domains=`echo $query | $mysql `
echo "Updating domains"
for i in ${domains}; do
echo "$i"
$PRODUCT_ROOT_D/admin/sbin/dnsmng --update $i
done
query="select name from domainaliases;"
domains=`echo $query | $mysql `
echo "Updating domain aliases"
for i in ${domains}; do
echo "$i"
$PRODUCT_ROOT_D/admin/sbin/dnsmng --update $i
done