A client of ours is moving his servers to a new colo soon and like us, uses QuickDNS from Men and Mice to manage his BIND installations. He needed an AppleScript that would go through all his zones and reduce all the TTL values so that when he moved his servers, the transition would happen as smoothly as possible. So I whipped up this AppleScript:
set setDirection to "low"
--set setDirection to "normal"
tell application "QuickDNS Manager"
repeat with theZone in zones
set curZoneName to name of theZone
set theDoc to (open theZone)
tell theDoc
if ("low" is setDirection) then
set default time to live to 7200
try
set expire of first SOA record to "1400"
end try
try
set refresh of first SOA record to "7200"
end try
try
set negative caching of first SOA record to "7200"
end try
try
set retry of first SOA record to "3600"
end try
try
set time to live of first SOA record to "7200"
end try
end if
if ("normal" is setDirection) then
set default time to live to 7200
try
set expire of first SOA record to "604800"
end try
try
set refresh of first SOA record to "28800"
end try
try
set negative caching of first SOA record to "43200"
end try
try
set retry of first SOA record to "7200"
end try
try
set time to live of first SOA record to "86400"
end try
end if
save with comment ""
end tell
end repeat
end tell