Pentru ca scriptul sa functioneze corect, acesta a fost modificat astfel:
#
(
echo "To: hostmaster <hostmaster>"
echo "From: bind-9.2.3-0.rc2 <root>"
# Is named up? Check the status of named.
case 'rndc status 2>&1' in
*'cannot connect to command channel'*)
echo "named is DOWN. root.hints was NOT updated"
echo
exit 0
;;
esac
PATH=/sbin:/usr/sbin:/bin:/usr/bin:
export PATH
# NOTE: /var/named must be writable only by trusted users or this
script
# will cause root compromise/denial of service opportunities.
cd /var/named 2>/dev/null || {
echo "Subject: Cannot cd to /var/named, error $?"
echo
echo "The subject says it all"
exit 1
}
# Are we online? Ping a server at your ISP
case 'ping -qnc 1 192.168.0.170 2>&1' in
*'100% packet loss'*)
echo "Subject: root.hints NOT updated. The network is DOWN."
echo
echo "The subject says it all"
exit 1
;;
esac
dig @e.root-servers.net . ns >root.hints.new 2> errors
case 'cat root.hints.new' in
*NOERROR*)
# It worked
:;;
*)
# echo "Subject: The root.hints file update has FAILED."
# echo
# echo "The root.hints update has failed"
# echo "This is the dig output reported:"
# echo
# cat root.hints.new errors
# exit 1
;;
esac
echo "Subject: Fisieru root.hints a fost updatat cu succes"
echo
echo "Fisierul root.hints a fost updatat, si contine urmatoarele
informatii:"
echo
cat root.hints.new
echo
"+--------------------------------------------------------------------------+
! Pentru ca noul fisier sa intre in uz, sunt necesare urmatoarele
operatii:!
+--------------------------------------------------------------------------+"
echo "chown -v root:root root.hints.new"
echo
chown -v root:root root.hints.new
echo "chmod -v 444 root.hints.new"
echo
chmod -v 444 root.hints.new
echo "rm -f -v root.hints.old errors"
echo
rm -f -v root.hints.old errors
echo "mv -v root.hints root.hints.old"
mv -v root.hints root.hints.old
echo "mv -v root.hints.new root.hints"
mv -v root.hints.new root.hints
echo "Restartez named: rndc reload"
echo
rndc reload
#ndc restart
echo
echo "Nameserver-ul a fost restartat pentru a fi sigur ca fisierul
updatat a intrat
in uz."
echo "Vechiul fisier root.hints a fost redenumit:
/var/named/root.hints.old."
) 2>&1 | /usr/lib/sendmail -t
exit 0
echo "Subject: The root.hints file update has FAILED."
echo
echo "The root.hints update has failed"
echo "This is the dig output reported:"
echo
cat root.hints.new errors
# exit 1
;;
Buhus Teodor-Marius said:
>
> Salut,
>
> Urmatorul script ar trebui sa faca actualizare automata a fisierului
> root.hints. Scriptul presupune ca
> merge serviciul de mail si ca este definita adresa de hostmaster,
> conditii care la mine sunt indeplinite.
> #
> # Update the nameserver cache information file once per month.
> # This is run automatically by a cron entry.
> #
> # Original by Al Longyear
> # Updated for BIND 8 by Nicolai Langfeldt
> # Miscelanious error-conditions reported by David A. Ranch
> # Ping test suggested by Martin Foster
> # named up-test suggested by Erik Bryer.
> #
> (
> echo "To: hostmaster <hostmaster>"
> echo "From: system <root>"
>
> # Is named up? Check the status of named.
> case 'ndc status 2>&1 in
> *'cannot connect to command channel'*)
> echo "named is DOWN. root.hints was NOT updated"
> echo
> exit 0
> ;;
> esac
> PATH=/sbin:/usr/sbin:/bin:/usr/bin:
> export PATH
> # NOTE: /var/named must be writable only by trusted users or this
> script
> # will cause root compromise/denial of service opportunities.
> cd /var/named 2>/dev/null || {
> echo "Subject: Cannot cd to /var/named, error $?"
> echo
> echo "The subject says it all"
> exit 1
> }
>
> # Are we online? Ping a server at your ISP
> case 'ping -qnc 1 some.machine.net 2>&1' in
> *'100% packet loss'*)
> echo "Subject: root.hints NOT updated. The network is
> DOWN."
> echo
> echo "The subject says it all"
> exit 1
> ;;
> esac
>
> dig @e.root-servers.net . ns >root.hints.new 2> errors
>
> case 'cat root.hints.new' in
> *NOERROR*)
> # It worked
> :;;
> *)
> echo "Subject: The root.hints file update has FAILED."
> echo
> echo "The root.hints update has failed"
> echo "This is the dig output reported:"
> echo
> cat root.hints.new errors
> exit 1
> ;;
> esac
>
> echo "Subject: The root.hints file has been updated"
> echo
> echo "The root.hints file has been updated to contain the following
> information:"
> echo
> cat root.hints.new
>
> chown root.root root.hints.new
> chmod 444 root.hints.new
> rm -f root.hints.old errors
> mv root.hints root.hints.old
> mv root.hints.new root.hints
> ndc restart
> echo
> echo "The nameserver has been restarted to ensure that the update
> is
> complete"
> echo "The previous root.hints file is now called
> /var/named/root.hints.old."
> ) 2>&1 | /usr/lib/sendmail -t
> exit 0
>
> iata ce eroare imi returneaza:
> /root/dns_alive.sh: line 18: syntax error near unexpected token
> `connect'
> /root/dns_alive.sh: line 18: ` *'cannot connect to command
> channel'*)'
>
> Ca si sistem de operare folosesc Mandrake 9.2
>
> Multumesc!
>
>
>
> -----------------------------------------
> This email was sent using RulbdMail. Webmail developed by IT
> Department of SC Rulmenti SA Barlad.
>
>
> ---
> Detalii despre listele noastre de mail: http://www.lug.ro/
>
>
>
-----------------------------------------
This email was sent using RulbdMail. Webmail developed by IT Department of SC Rulmenti
SA Barlad.
---
Detalii despre listele noastre de mail: http://www.lug.ro/