bonjour,
Le vendredi 28 mai 2004, Minux a �crit...
> voil� le script complet qui me permet d'updater mon ip vers dyndns via
> ez-ipupdate :
J'ai fabriqu� �a, mais..._mais_, il y a beaucoup de mais:
Je ne sais pas ce qu'il y a dans les fichiers ip, j'en ai d�duit que
c'�tait une ip toute b�te
Et j'ai �galement suppos� que la cha�ne pasv_address=x.x.x.x
�tait en fin de fichier
Tu mets �a o� tu veux, mais �a suppose �galement que les deux fichiers
old et new de ip existent
Quand au relancement du d�mon, tu remplaces [i]netd par [v]fstpd , �
condition qu'il n'y ait qu'une session..., pareil pour les chemins de
fichier.
Il n'y a aucune gestion d'erreur l�-dedans, c'est tr�s bourrin, mais mes
simulations bidon ont fonctionn�:
#!/usr/bin/env python
import os
from signal import SIGHUP
fichierIpNew = "./newip"
fichierIpOld = "./oldip"
fichierDeConf = "./fichier_de_conf"
def getpspid ():
fp = os.popen ("ps aux|awk '/[i]netd/ {print $2}'", "r")
pid = fp.read()
fp.close ()
return pid
def getIp (fichier):
fd = os.open (fichier, os.O_RDONLY)
ip = os.read (fd, 16)
os.close (fd)
return (ip, len (ip))
def substitute ():
told = getIp (fichierIpOld)
tnew = getIp (fichierIpNew)
fd = os.open (fichierDeConf, os.O_RDWR)
os.lseek (fd, -1 * told[1], 2)
os.write (fd, "")
os.write (fd, tnew[0])
os.close (fd)
def main ():
substitute ()
os.kill (int (getpspid ()), SIGHUP)
if __name__ == '__main__':
main ()
--
jm