Skript um die Nameserver mehrerer Domains mittels DIG zu bestimmen

  • Die Anwendung ist zum Beispiel um bestimmte Domains zu finden, die nicht auf unsere NS zeigen, sondern auf die Server IP. Diese brauchen Nachbearbeitung bei einer Übersiedlung.


    Falls jemand noch eine Verbesserung vorschlagen würde wäre es toll.
    Ich würde die Domains nur ausgeben wollen, wenn keine Rückmeldung vom DIG kommt, bzw. bestimmte 2 NS nicht vorkommen. Komme aber mit meinen Abfragen noch nicht weiter. Danke.

  • Ich würde die Domains nur ausgeben wollen, wenn […] bestimmte 2 NS nicht vorkommen.

    Eigentlich trivial; der Trick besteht darin, die Ausgabe von dig zusammen mit dem Domänennamen in einer Zeile auszugeben, um das Ganze einfach filtern/anzeigen zu können (In Zeile 6 sind die Namen der Nameserver anzupassen, versteht sich):

    Shell-Script
    1. #!/bin/bash
    2. while read DOMAINNAME; do
    3. RESULT=$(dig "$DOMAINNAME" ns +short)
    4. # "||"=oder <=> Ausgabe des Domänennamens, wenn einer von beiden Nameservern nicht vorkommt
    5. # "&&"=und <=> Ausgabe des Domänennamens, wenn alle beiden Nameserver nicht vorkommen
    6. echo $DOMAINNAME: $RESULT | awk '!/second-dns.netcup.net/ && !/third-dns.netcup.net/'
    7. done < /root/chkdomains_domainlist.txt > /root/chkdomains_result.txt

    Anmerkung: Grundsätzlich sollte man Scripts, welche keine Rootrechte benötigen, auch nicht als Superuser ausführen.