[vscweb-commit] r435 - branches/vsc-2.0/daemon/tasks
Brought to you by:
cirrusrex
|
From: <wi...@bi...> - 2006-01-26 19:37:28
|
Author: wirges
Date: 2006-01-26 14:37:18 -0500 (Thu, 26 Jan 2006)
New Revision: 435
Added:
branches/vsc-2.0/daemon/tasks/revisit_dns_all.pl
Log:
Added a script to refresh all dns entries, nightly.
Added: branches/vsc-2.0/daemon/tasks/revisit_dns_all.pl
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/vsc-2.0/daemon/tasks/revisit_dns_all.pl =
(rev 0)
+++ branches/vsc-2.0/daemon/tasks/revisit_dns_all.pl 2006-01-26 19:37:18 =
UTC (rev 435)
@@ -0,0 +1,59 @@
+#!/usr/bin/perl
+ =
=20
+my $me =3D 'revisit_dns_all.pl';
+ =
=20
+use vars qw( %task $me );
+ =
=20
+$task{$me}{timespec} =3D '15 0 * * *';
+$task{$me}{on_startup} =3D 1;
+ =
=20
+$task{$me}{code} =3D sub
+{
+ #my ($datasource, $db_username, $db_password) =3D @_;
+ #$dbh =3D DBI->connect($datasource, $db_username, $db_password);
+=20
+ $SIG{PIPE} =3D sub { writeLog("revisit_dns encountered a sigpipe, this=
causing the issue?"); };
+=20
+ #my $query =3D qq[UPDATE Host SET dns_name =3D ?, mac_address =3D ?, s=
mbname =3D ? WHERE hostid =3D ?];
+ my $query =3D qq[UPDATE Host SET dns_name =3D ? WHERE hostid =3D ?];
+ my $update =3D $dbh->prepare($query);
+
+ $query =3D qq[SELECT hostid, address FROM Host];
+ my $sth =3D $dbh->prepare($query);
+ $sth->execute();
+
+ while (my $row =3D $sth->fetchrow_hashref)
+ {
+ #my $nb =3D Net::NBName->new;
+ #my $ns =3D $nb->node_status($row->{address}, .10);
+
+ my $machine =3D '';
+ my $mac_address =3D '';
+
+ #if ($ns)
+ # {
+ # for my $rr ($ns->names)
+ # {
+ # if ($rr->suffix =3D=3D 0 && $rr->G eq "UNIQUE") {
+ # $machine =3D $rr->name unless $rr->name =3D~ /^IS~/;
+ # }
+ # }
+ # $mac_address =3D $ns->mac_address;
+ # }
+
+ if (my $host =3D gethostbyaddr(inet_aton($row->{address}), AF_INET))
+ {
+ $dn =3D $host;
+ } else {
+ $dn =3D $row->{address} . "*";
+ }
+
+ writeLog (qq[Updating DNS for $row->{address} to $dn]);
+ #$update->execute ($dn, $mac_address, $machine, $row->{hostid});
+ $update->execute ($dn, $row->{hostid});
+ }
+
+ $sth->finish;
+
+ };
+1;
|