Dark26 Posté(e) le 27 août 2003 Partager Posté(e) le 27 août 2003 Donc voila, j'ai un programme de dns dynamique sur ma bécane linux, www.dynubasic.com , ça marche bien mais il y a un petit HIC en gros ça scan toutes les minutes pour voir si mon ip a changé (normal) mais le problème c'est que si ça scan mon ip pendant la reconnection ( donc à chaque coup car ça met souvent plus d'une minute pour reconnecter , alors la le programme part en couille et se kill tout seul :cnul: j'ai fait mon piti script qui fait un ps -c et qu regarde si il tourne... enfin c'est bon.. donc je voudrais le mettre dans les scripts init.d pour que ça se lance automatique. pour l'intant je le lance avec nohup... si quelqu'un un un example simple d'un script ( avec start stop et restart et éventuellement status que je pourrais adapter facilement ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 27 août 2003 Partager Posté(e) le 27 août 2003 Euh ddclient il fait tout tout seul ... en mode daemon, écrit en perl, et il s'installe dans l'init.d comme un grand ... Avant de partir dans le init.d (parfois assez casse-gueule), as-tu jeté un oeil du côté de la crontab ? j'ai quelques scripts dans mon /etc/init.d (lance du client Folding, forçage du 100 Full sur une Realtek 8139 ...) mais je me suis pas foulé je me suis inspiré des autres scripts. Ou alors vraiment lamba : frodon:~# cat /etc/init.d/mii.sh #!/bin/sh echo -n "Setting eth0 speed and duplex : " /sbin/mii-tool -F 100baseTx-FD eth0 /sbin/mii-tool -A 100baseTx-FD eth0 echo "done" Sur l'autre machine (en Gentoo), là je me suis tapé du beau script qui gère le start et le stop, en couleur et tout, mais comme elle éteinte pour l'instant je ne sais pas te dire ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 27 août 2003 Partager Posté(e) le 27 août 2003 Sinon bien entendu un exemple : celui de Boa (serveur HTTP léger) : suffit de modifier les variables intiales. #! /bin/sh # # Written by Miquel van Smoorenburg <miquels@cistron.nl>. # Modified for Debian GNU/Linux # by Ian Murdock <imurdock@gnu.ai.mit.edu>. # Modified for boa by Bill Allombert <ballombe@debian.org>. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/boa NAME=boa DESC="HTTP server" test -x $DAEMON || exit 0 set -e case "$1" in start) echo -n "Starting $DESC: $NAME" start-stop-daemon --start --quiet --exec $DAEMON echo "." ;; stop) echo -n "Stopping $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo --exec $DAEMON echo "." ;; restart|force-reload) # # If the daemon can reload its config files on the fly # for example by sending it SIGHUP, do it here. # # If the daemon responds to changes in its config file # directly anyway, make this a do-nothing entry. # echo -n "Reloading $DESC configuration..." start-stop-daemon --stop --signal 1 --quiet --oknodo --exec $DAEMON echo "done." ;; *) N=/etc/init.d/$NAME # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 Pour le status ... euh ça dépend de l'appli Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dark26 Posté(e) le 27 août 2003 Auteur Partager Posté(e) le 27 août 2003 ok merci ç ava pouvoir m'aider j'en avais trouvé un super sur une page web ( par hasard bien sûr ) mais impossible de remettre la main dessus... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dark26 Posté(e) le 27 août 2003 Auteur Partager Posté(e) le 27 août 2003 #!/bin/bash # # /etc/rc.d/init.d/ # # # # # # Source function library. . /etc/rc.d/init.d/functions case "$1" in start) echo -n "Starting services: " touch /var/lock/subsys/ ;; stop) echo -n "Shutting down services: " rm -f /var/lock/subsys/ ;; status) ;; restart) ;; reload) ;; probe) ;; *) echo "Usage: {start|stop|status|reload|restart[|probe]" exit 1 ;; voila un truc.... bon je vais pouvoir m'inspirer de tous ça et sortir un truc qui tue Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dark26 Posté(e) le 27 août 2003 Auteur Partager Posté(e) le 27 août 2003 #!/bin/sh # # /etc/rc.d/init.d/ # # # # Par dark26 pour le client dynubasic # # Source function library. #. /etc/rc.d/init.d/functions case "$1" in start) echo -n "Starting Dynamique DNS with Dynubasic: " nohup /root/dynubasic/dynu & ;; stop) echo -n "Shutting down Dynamique DNS with Dynubasic : " PID=`ps -e | grep dynu | cut -d ' ' -f1 | head -n1` kill -9 ${PID} PID=`ps -e | grep dynubasic | cut -d ' ' -f1 | head -n1` kill -9 ${PID} ;; status) echo -n "Voici les pid des processus" PID=`ps -e | grep dynu | cut -d ' ' -f1 | head -n1` echo ${PID} PID=`ps -e | grep dynubasic | cut -d ' ' -f1 | head -n1` echo ${PID} ;; restart) ;; reload) ;; probe) ;; *) echo "Usage: {start|stop|status|reload|restart[|probe]" exit 1 ;; esac et voila mon script dynu #!/bin/sh while true do ps -C dynubasic > /dev/null if [ $? = 1 ] then echo "Dynubasic ne tourne pas redemarrage" /root/dynubasic/dynubasic < /root/dynubasic/basic.cfg fi sleep 60 done bon ça a l'air de fonctionner ( ) mais j'ai un problème avec nohup et le & dans le init.d ça me parait bizarre.... y en a til vraiment besoin si c'est au démarrage ??? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 28 août 2003 Partager Posté(e) le 28 août 2003 toute petit précision "cosmétique" le echo "-n" fait qu'il n'y a pas de retour chariot. En général c'est pas mal de faire : echo -n "starting machin: " < ton script > echo "done" comme ça : * on a un retour chariot ça évite que le script suivant se mette à la meme ligne * on a une idée d'où vient le pb si un message d'erreur d'affiche avant le done Autre application tu pourrais faire un echo -n "$(PID) " à la place de ton echo $(PID) dans le status, ça mettrait les deux PID sur la même ligne . T'as pas besoin de faire un nohup dans un script init.d, un & suffira (et je ne suis même pas sur qu'il soit nécessaire) My 0.02 runlevel contribution Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dark26 Posté(e) le 29 août 2003 Auteur Partager Posté(e) le 29 août 2003 ok c'est cool :8 je sais pas pas pourquoi il me met une erreur de mappage avec le nouveau kernel Warning: /boot/System.map-2.4.21 does not match kernel data.{ide_build_dmatable} {GPLONLY_ide_build_dmatable} je sais pas c'est quoi ce warning... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 29 août 2003 Partager Posté(e) le 29 août 2003 Que le system.map (fichier d'infos de debug généré lors de la compilation du noyau) ne correspond pas au noyau booté. Solution 1 : copier le dernier system.map (find /usr/src/linux | grep system.map) dans ton /boot Solution 2 : virer le système .map, à moins que tu souhaite débugger ton noyau à la mimine... My 0.02 k contribution Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dark26 Posté(e) le 29 août 2003 Auteur Partager Posté(e) le 29 août 2003 ok merci... je vais donc virer le truc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.