Это на память и на будущее, не последний раз потребовалось, вероятно.
После установки (наконец-то) всех доступных обновлений на сервер с панелью 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