Hello
J'avais vu un post de quelqu'un qui cherchait à faire cela, mais je ne remet pas la main dessus...
En gros l'idée était de pouvoir être prévenu si le status d'un nom de domaine change.
J'ai écrit un petit script en Ruby pour faire cela. J'avais d'abord fait un script sh de quelques lignes, mais j'ai trouvé que ça ne faisait pas assez geek ... Je l'ai réécrit en Ruby et je me suis amusé avec du yaml pour stocker a configuration.
Il faut un deuxième fichier ( status.yml ):
( il se remplira par la suite - il faut y mettre initialement la liste des domaine que l'on veut suivre ).
Pour s'en servir, il suffit de le mettre sur une machine *nix et pour l'éxécuter ( après avoir fait un chmod +x status.rb ) : ./status.rb .
Si on veut suivre ça , il suffit alors de le mettre dans un crontab et ça roule.
J'ai rarement écrit des script Ruby "pur" et je suis conscient que ça peut être amélioré
Qu'en pensez vous ?
J'avais vu un post de quelqu'un qui cherchait à faire cela, mais je ne remet pas la main dessus...
En gros l'idée était de pouvoir être prévenu si le status d'un nom de domaine change.
J'ai écrit un petit script en Ruby pour faire cela. J'avais d'abord fait un script sh de quelques lignes, mais j'ai trouvé que ça ne faisait pas assez geek ... Je l'ai réécrit en Ruby et je me suis amusé avec du yaml pour stocker a configuration.
root@bep-pc1|~/Bin|120#vi status.rb
#!/usr/local/bin/ruby
require 'yaml'
class Whois
def self.status
@config = YAML::load(IO.read('status.yml'))
@config.each do |key,value|
unless value
value = ''
end
@config[key] = compare(key,value)
end
fd = File.open('status.yml', 'w+') do |fd|
begin
fd.write(@config.to_yaml)
rescue EOFError
end
end
end
def self.compare(key,oldStatus)
system "whois "+key+" | grep RRP > newStatus"
newStatus = ''
fd = File.open('newStatus', File::RDONLY) do |fd|
begin
newStatus = fd.gets
rescue EOFError
end
end
if oldStatus != newStatus
sendmail(key)
end
File.unlink("newStatus")
newStatus
end
def self.sendmail(ndd)
email = "email@gmail.com"
system "mail "+email+" -s "+ndd+" < newStatus"
end
end
Whois.status
Il faut un deuxième fichier ( status.yml ):
actinidia.net:
cedrich.net:
( il se remplira par la suite - il faut y mettre initialement la liste des domaine que l'on veut suivre ).
Pour s'en servir, il suffit de le mettre sur une machine *nix et pour l'éxécuter ( après avoir fait un chmod +x status.rb ) : ./status.rb .
Si on veut suivre ça , il suffit alors de le mettre dans un crontab et ça roule.
J'ai rarement écrit des script Ruby "pur" et je suis conscient que ça peut être amélioré

Qu'en pensez vous ?