cassiopee
29/10/2011, 08h11
Bonjour,
Toutes, quasiment, les docs que je trouve indiquent comment mettre à jour son DNS depuis Linux en utilisant Python (J'abrège un peu il y a des tentatives Windows).
Ma question est comment mettre à jour un DynHost OVH avec un script Perl. Je n'ai pas réussi et je pense que cela est du au fait que je ne sais pas comment inclure les identifiants et le password associé.
Je soumets le script à votre sagacité et merci d'avance aux courageux Perl/OVH masters
Attention j'ai mis un espace dans Net:: DNS sinon l'affichage est Net:NS
-------------------------------
#!/usr/bin/perl -w
use strict;
use warnings;
use Net:: DNS;
set_dns('nouvelle IP');
sub set_dns {
my $new_ip=shift;
my $key_name = 'identifiant OVH'; #identifiant OVH
my $key = 'pass associe'; #pass associe a l identifiant OVH
my $update = new Net:: DNS::Update('mondomaine.com');
$update->push('update', rr_del('identifiant.mondomaine.com'));
$update->push('update', rr_add("identifiant.mondomaine.com 300 A $new_ip"));
# $update->push('additional', Net:: DNS::RR->new("$key_name TSIG $key"));
my $res = new Net:: DNS::Resolver;
# $res->nameservers('dns16.ovh.net', 'ns16.ovh.net');
$res->nameservers('ns16.ovh.net');
my $reply = $res->send($update);
if (defined $reply) {
if ($reply->header->rcode ne "NOERROR") {
print "rcode=".$reply->header->rcode,"\n";
} else {
print "Update to $new_ip succeeded!\n";
}
} else {
print 'Update failed: ', $res->errorstring, "\n";
}
}
-------------------------------