bon ben je vais repasser la première alors
Quadrax a écrit:Par contre, le script à copier, c'est lequel (ou plutôt, "où devrais-je le trouver?" <=> c'est quoi la commande en ligne "rechercher qqch tout partout" ?) ?
ben t'a pas à le chercher tu l'avais déjà trouvé :
/sbin/e-smith/dynamic-dns/dyndns.org mais on va l'oublier à partir de maintenant
Sinon pour rechercher tout partout voir "man find" et tout plein de chose, le même en rajoutant "xargs" ou alors "egrep -R" ... (je m'arrête sinon je sent que je vais être désagréable
)
Quadrax a écrit:Sinon, crontab, se cache où déjà ?
A nos bistouris (et un alkaselzer, un !
) : la crontab sous SME est gérée via anacron. , lequel a un fichier de conf dans /etc (la bonne blague
) : anacrontab .
Ce fichier indique entre autre que tous les 7 jours + ou - 70 minutes (enfin chez moi) les scripts contenus dans
/etc/cron.weekly seront exécutés, et parmi ces scripts, il y en a un qui nous intéresse plus particulièrement : "
refresh-ddns".
Celui-ci lance une "action" (au sens SME), l'action de mise à jours des DNS dynamiques :
/etc/e-smith/events/actions/update-dnsA la lecture de celui-ci, on se rends compte que celui-ci appelle un autre script encore plus remarquable (remarqué ?) :
/sbin/e-smith/dynamic-dns/dyndns.org (bizarre j'ai l'impression qu'on en a déjà parlé
) avec des paramètres qui ne me semblent pas dénués d'intérrêt dans notre cas :
$ipaddress->value, $account, $password, $domain
n'est-il pas ?
Ben maintenant qu'on a ces infos, on va pouvoir envisager qqchse de moins crade (un petit peu moins, je considère que la demande est ponctuelle et maitrisée) que ce que j'avais indiqué. Le but de l'opération : laisser l'action s'exécuter "as usual" mais aussi générer une action avec des paramètres un petit peu différents pour utiliser le 2eme compte dyndns , le tout sans rien casser
je te propose de créer un deuxième fichier d'actions et y changer ce qui nous intéresse (on va tirer parti de l'inteeligence pour récupérer l'@IP et ajouter ce qui ne change pas)
- Code: Tout sélectionner
cp -p /etc/e-smith/events/actions/update-dns \
/etc/e-smith/events/actions/Quadrax_compte.update-dns
vi /etc/e-smith/events/actions/Quadrax_compte.update-dns ### ou pico , ou mcedit, ...
On remplacera dans cette copie
- Code: Tout sélectionner
my $account = $DynDNS->prop('Account');
my $password = $DynDNS->prop('Password');
my $domain = $c->get('DomainName')->value;
par (c'est une config minimale que je propose , hein ...)
- Code: Tout sélectionner
my $account = "Quadrax_dyndns_user";
my $password = "Quadrax_dyndns_password";
my $domain = "Quadrax_dyndns_domaine";
Et puis on ajoute notre nouvelle tâche planifiée au système :
- Code: Tout sélectionner
cat > /etc/cron.weekly/Quadrax_compte.refresh-ddns <<EOC
#! /bin/bash
exec /etc/e-smith/events/actions/Quadrax_compte.update-dns
EOC
chmod 744 /etc/cron.weekly/Quadrax_compte.refresh-ddns
voilazz maintenant c'est plage time
Bon on peut faire mieux (modifier le script d'action pour prendre gérer des arguments en entrée : si pas d'args, il s'exécute tel que, sinon ben il les utilise !) mais c'était pas mon propos.
Quadrax a écrit:Au pire, si je merdoie dans les fichiers, je risque seulement de ne plus avoir de mise à jour auto de DynDNS, c'est bien ça ?
ben non puisqu'on touche à rien de l'existant
G.