梦飞科技 > 虚拟主机 > directadmin > 如何使用perl做一个大规模的DNS更新

如何使用perl做一个大规模的DNS更新

如果您需要通过DirectAdmin逐个更改所有dns服务器,使用perl执行正则表达式(正则表达式)可以更简单地使用一个命令执行替换。 为此,您可以运行以下操作。 (用你自己的替换粗体)

cd /usr/local/directadmin/data/users
perl -pi -e 's/ns1.old.com/ns1.new.com/' */user.conf
perl -pi -e 's/ns2.old.com/ns2.new.com/' */user.conf
perl -pi -e 's/ns1.old.com/ns1.new.com/' */reseller.conf
perl -pi -e 's/ns2.old.com/ns2.new.com/' */reseller.conf

cd /var/named   #(or whatever the path to your *.db files is, eg: /etc/bind, /etc/named)
perl -pi -e 's/ns1.old.com/ns1.new.com/' *.db
perl -pi -e 's/ns2.old.com/ns2.new.com/' *.db

一旦完成更改,最好重写所有.db文件以更新串行数据,并触发与远程DNS系统的任何同步:

echo "action=rewrite&value=named" >> /usr/local/directadmin/data/task.queue


(责任编辑:张宇)

分享按钮
相关文章