Florent-36 Posté(e) le 7 novembre 2020 Posté(e) le 7 novembre 2020 (modifié) Bonjour, J'ai un soucis non bloquant mais assez gênant, j'ai un vieux nas DS410J, qui fonctionne bien mais quand je ne l'utilise pas il s'éteint ... Le truc c'est que je souhaite savoir qu'est ce qui provoque l'extinction ! car je ne l'ai pas demandé... Il doit bien y avoir un log quelque part du moment ou il y a le shutdown ? Modifié le 9 novembre 2020 par Florent-36 0 Citer
firlin Posté(e) le 7 novembre 2020 Posté(e) le 7 novembre 2020 Bonjour Florent-36, Si tu vas dans le panneau de configuration\matériel et alimentation dans ces onglet regarde si tu n'as pas l'hibernation des disques dur activé 0 Citer
Florent-36 Posté(e) le 7 novembre 2020 Auteur Posté(e) le 7 novembre 2020 Bonjour, L'hibernation n'est pas active , mais ce n'est pas ça il s'éteint vraiment entièrement , je dois réappuyer sur le bouton power et attendre 5min ... 0 Citer
Florent-36 Posté(e) le 8 novembre 2020 Auteur Posté(e) le 8 novembre 2020 La mémoire me revient un peu ... Car oui un 410J ça date ! et je ne ne me souvient pas de tout ce que j'ai fait comme modification 😞 Donc à l'époque j'avais un onduleur non compatible avec le syno et ; donc un script est en place pour faire un ping d'un élément non ondulé , si pas de réponse = shutdown... Voilà ! Maintenant le soucis c'est que je ne retrouve pas ce script ... - il n'est pas dans crontab - il n'est pas dans les tâches planifiées j'ai tenté un grep sur tout les fichiers *.sh pour recherché "192.168.1.254" et je ne retrouve rien non plus... Je suis rouillé sur l'utilisation de linux , mais il me semble bien que seul les fichiers sh sont des scripts? 0 Citer
firlin Posté(e) le 8 novembre 2020 Posté(e) le 8 novembre 2020 Bonjour Florent-36, Tu as essayé de faire un top pour voir le tache qui était en action ? Je sais pas si tu as le centre des journaux avec ta version de DSM qui doit être la 5.x 0 Citer
Florent-36 Posté(e) le 9 novembre 2020 Auteur Posté(e) le 9 novembre 2020 J'ai trouvé le coupable : j'ai honte en fait il était bien dans cron mais le nom n'est tellement pas parlant que je l'avais ignoré 😕 c'est /opt/bin/arip J'ai eu du mal à retrouver l'origine dans le forum car il semble que des vieux messages ont été partiellement perdus : Pour ceux que ça intéresse voici le script en question : #!/bin/sh # #========================================================================== # Surveille si le syno est seul sur le réseau par rapport a une liste # d'adresse IP. Si aucune IP de cette liste ne répond, un second # test est fais 120 secondes plus tard. Si c'est toujours le cas, le script # eteindra le SYNO. # # Version 1.20 # ----> Un intervale de temps (plage horaire) peut etre defini pour # neutraliser le script. Temps d'exclusion. # # Dans cette intervale, le script va uniquement faire un test sur lui meme. # Donc repondre systematiquement => localhost par défaut. # Il est possible de definir une autre IP d'exclution. Dans ce cas, le # script testera cette IP dans la plage horaire d'exclusion. Si elle ne # repond pas, le script eteindra le SYNO apres le second test (120sec). # Une seule IP d'exclusion possible. # # ----> Il est possible de définir un temps d'activation au demarrage. # Le script s'activera uniquement après boot (10 minutes par defaut). # # on arrete le SYNO s'il est toujours seul. #====================================================== # # ============================= # Variables generales du script # ============================= version="1.20b" intervalle="3" arret="poweroff" #arret="echo ..........Arret.." bip="" led="5" ip="192.168.1.254 192.168.1.30" exclu_deb="0h00" exclu_fin="0h00" exclu_ip="localhost" exclu_upt="10" # led_on="4" ; led_off="6" ; dev="ttyS1" ; script=`echo $0` # #----------------------------------------------------------------------------------- clear echo -e "#################### $nom version $version ###########################\n" # if test "$1" != "" then nom=`echo $script | sed -e "s'/..*/''"` serveur="http://fredo.servehttp.com/dl/syno" status=`cat /etc/crontab | grep $script | sed -e "s'^.*root.*sh $script'Actif'"` [ "$status" = "Actif" ] || status="Non-Actif" # #----------------------------------------------------- # Test si l'argument est un chiffre pour le changement # de l'intervalle entre 2 tests if [ "`expr $1 \* 1 2> /dev/null`" = "$1" ] ; then if [ `expr $1 \<= 0 ` -eq 1 ] ; then inter="1" ; echo "ATTENTION Temps minimum 1 minutes!!" ; fi if [ `expr $1 \>= 60 ` -eq 1 ] ; then inter="59" ; echo "ATTENTION Temps maximum 59 minutes!!" ; fi if [ "$intervalle" != "$inter" ] ; then if [ "$status" = "Actif" ] ; then killall crond ; grep -v $script /etc/crontab > /tmp/crontab echo -e "*/"$1"\t*\t*\t*\t*\troot\tsh "$script >> /tmp/crontab mv /tmp/crontab /etc/crontab ; sleep 1 /usr/sbin/crond fi cat $script | sed -e 's/^intervalle=".*"/intervalle="'$1'"/' > /tmp/arip.$$ chmod 777 /tmp/arip.$$ ; mv /tmp/arip.$$ $script fi sh $script info ; exit 0 fi # #------------------------------------------------------- # Initialise le script avec des valeurs courantes 'init' if test "$1" = "init" ; then if [ "$status" = "Actif" ] ; then killall crond ; grep -v $script /etc/crontab > /tmp/crontab echo -e "*/5\t*\t*\t*\t*\troot\tsh "$script >> /tmp/crontab mv /tmp/crontab /etc/crontab ; sleep 1 /usr/sbin/crond fi routeur=`route | grep -i "default" | awk '{print $2}'` cat $script | sed -e 's/^intervalle=".*"/intervalle="5"/; s/^led=".*"/led="5"/; s/^bip=".*"/bip="2"/' \ -e 's/^exclu_deb=".*"/exclu_deb="0h00"/; s/^exclu_fin=".*"/exclu_fin="0h00"/; s/^exclu_upt=".*"/exclu_upt="10"/' \ -e 's/^exclu_ip=".*"/exclu_ip="localhost"/; s/^ip=".*"/ip="'$routeur'"/' > /tmp/arip.$$ chmod 777 /tmp/arip.$$ ; mv /tmp/arip.$$ $script ; sleep 1 sh $script info ; exit 0 fi # #------------------------------ # Mise a jour du script 'ajour' if test "$1" = "ajour" ; then [ "$2" = "" ] || serveur=$2 if [ "`wget -q -O - $serveur/$nom | grep -i $nom`" = "" ] ; then echo -e "\n Le serveur : $serveur \n n'est pas accessible pour le moment\n" ; exit 0 else echo -e "\n Le serveur : $serveur a répondu" fi wget -q -O - $serveur/$nom | sed -e 's/^intervalle=".*"/intervalle="'$intervalle'"/' \ -e 's/^led=".*"/led="'$led'"/; s/^bip=".*"/bip="'$bip'"/' \ -e 's/^exclu_deb=".*"/exclu_deb="'$exclu_deb'"/; s/^exclu_fin=".*"/exclu_fin="'$exclu_fin'"/' \ -e 's/^exclu_upt=".*"/exclu_upt="'$exclu_upt'"/; s/^exclu_ip=".*"/exclu_ip="'$exclu_ip'"/' \ -e "s/^ip=\".*\"/ip=\"$ip\"/" > $script chmod 777 $script ; sleep 1 sh $script info ; echo -e " Version mise a jour ou remplacement OK\n" ; exit 0 fi # #----------------------------------------------- # Arret ou reprise de l'execution auto du script if test "$1" = "stop" -o "$1" = "start" ; then killall crond grep -v $script /etc/crontab > /tmp/crontab ; mv /tmp/crontab /etc/crontab [ "$1" = "start" ] && echo -e "*/"$intervalle"\t*\t*\t*\t*\troot\tsh "$script >> /etc/crontab ; sleep 1 /usr/sbin/crond ; sh $script info ; exit 0 fi # #--------------------------------------------------------- # Activation / desactivation du 'bip' ou de le led 'power' if test "$1" = "bip" -o "$1" = "led" ; then val="" case "$1" in "bip" ) [ "$bip" = "" ] && val="2";; "led" ) [ "$led" = "" ] && val="5";; esac sed -e 's/^'$1'=".*"/'$1'="'$val'"/' $script > /tmp/arip.$$ chmod 777 /tmp/arip.$$ ; mv /tmp/arip.$$ $script ; sh $script info ; exit 0 fi # #------------------------------------------------ # Ajout ou suppression d'adresse IP a surveiller iptest=`echo $1 | sed -e "s/[0-9][0-9]*//g"` if test "$iptest" = "..." -o "$iptest" = "-..." -o "$iptest" = "+..." ; then ip_new=$ip for bo in $* ; do case `echo $bo | sed -e "s/[0-9][0-9]*//g"` in "..." | "+..." ) ip_new=`echo $ip_new" "$bo | sed -e "s/+//g; s/ /\n/g" | sort | uniq`;; "-..." ) bo=`echo $bo | sed "s/-//"` ; ip_new=`echo $ip_new | sed -e "s/ *$bo//"`;; esac done # if test "$ip_new" != "$ip" ; then ip_new=`echo $ip_new | sed -e "s/^ *//; s/ $//; s/ */ /g"` sed -e "s/^ip=\".*\"/ip=\"$ip_new\"/" $script > /tmp/arip.$$ chmod 777 /tmp/arip.$$ ; mv /tmp/arip.$$ $script fi sh $script info ; exit 0 fi # #--------------------------------------------------------- # Activation / desactivation du 'bip' ou de le led 'power' if test "$1" = "exclu" ; then echo -e "Temps debut exclusion ($exclu_deb)\t: \c" ; read q [ "$q" != "" ] && exclu_deb=$q echo -e "Temps final exclusion ($exclu_fin)\t: \c" ; read q [ "$q" != "" ] && exclu_fin=$q echo -e "Exclusion IP > $exclu_ip \t: \c" ; read q [ "$q" != "" ] && exclu_ip=$q echo -e "Exclusion UPTIME min. ($exclu_upt)\t: \c" ; read q if [ "$q" != "" ] ; then if [ "`expr $q \* 1 2> /dev/null`" = "$q" ] ; then if [ `expr $q \<= 0 ` -eq 1 ] ; then exclu_upt="1" ; else exclu_upt=$q ; fi fi fi cat $script | sed -e 's/^exclu_deb=".*"/exclu_deb="'$exclu_deb'"/; s/^exclu_fin=".*"/exclu_fin="'$exclu_fin'"/' \ -e 's/^exclu_upt=".*"/exclu_upt="'$exclu_upt'"/; s/^exclu_ip=".*"/exclu_ip="'$exclu_ip'"/' > /tmp/arip.$$ chmod 777 /tmp/arip.$$ ; mv /tmp/arip.$$ $script ; sleep 1 sh $script info ; exit 0 fi # #--------------------------------------------------- # Information sur l'etat et les parametres du script #--------------------------------------------------- if test "$1" = "info" then echo $nom" 5 => Test toutes les 5 minutes (1~59 maxi)" echo $nom" stop,start => Active / desactive le script" echo $nom" init => Initialise les valeurs par defaut" echo $nom" info => Informe sur les parametres courants" echo $nom" ajour => Verifie et met a jour le script" echo $nom" bip,led => Active ~ desactive le bip ou la LED Power" echo $nom" exclu => Reglage parametres temps exclusion" echo "" echo $nom" -192.168.0.5 => supprime l'adresse de la liste" echo $nom" 192.168.0.2 => ajoute une addresse IP de test" echo "" echo -e " Valeurs courantes : $intervalle min. > $status \c" [ "$led" != "" ] && echo -e "> Led \c" ; [ "$bip" != "" ] && echo -e "> Bip \c" echo -e "\n > Temps Exclusion : $exclu_deb à $exclu_fin IP=> $exclu_ip" echo -e " > Temps Uptime : $exclu_upt minutes\n" echo "Test IP sur : "`echo "Vide"$ip | sed "s/Vide..*/$ip/"` echo exit 0 fi echo -e "\n Action non reconnue !!\n" # exit 0 fi ###################################################################### ###################################################################### #====================================================== # On sort du script si la liste d'IP est vide # if [ "$ip" = "" ] ; then echo -e "\n Une adresse IP doit etre renseignée ! \n" exit 0 ; fi #====================================================== # Exclusion uptime : # Permet d'activer le script uniquement lorsque # l'Uptime est superieur a la variable $exclu-upt # Temps en minutes. if [ "$exclu_upt" != "" ] ; then if [ `awk '{ printf "%.0f",$1/60}' /proc/uptime` \< $exclu-upt ] ; then echo -e "\n Sorti du programme, Temps Uptime ! \n" exit 0 ; fi fi #====================================================== # Test si on est dans le temps d'exclusion. # On remplace la liste d'IP par lo variable $exclu_ip # if [ "$exclu_deb$exclu_fin" != "0h000h00" ] ; then t_now=`date "+%H %M" | awk '{print ($1*60)+$2}'` t_deb=`echo $exclu_deb | sed "s/[hH]/ /" | awk '{print ($1*60)+$2}'` t_fin=`echo $exclu_fin | sed "s/[hH]/ /" | awk '{print ($1*60)+$2}'` # if [ `expr $t_deb \> $t_fin ` -eq 1 ] ; then [ `expr $t_now \< $t_fin ` -eq 1 ] && t_now=`expr $t_now + 1440` ; t_fin=`expr $t_fin + 1440` fi if [ `expr $t_deb \< $t_now ` -eq 1 ] ; then [ `expr $t_fin \> $t_now ` -eq 1 ] && ip=$exclu_ip [ "$ip" = "" ] && ip="localhost" fi fi # #------------------------------------------------------ # Premier test de connexion : # La premiere adresse IP qui repond est remonté en tete # de liste pour obtimiser le prochain controle. connect="" ; rm -f /tmp/arip.$$ for bo in $ip ; do if [ "$connect" = "" ] ; then connect=`ping -c 1 $bo 2> /dev/null | grep -i " 0% packet loss"` if [ "$connect" != "" ] ; then echo -e "Adresse OK : $bo" if [ -f /tmp/arip.$$ ] ; then ip_new=$bo" "`echo $ip | sed -e "s/$bo//; s/ / /g; s/ $//g"` cat $script | sed -e "s/^ip=\".*\"/ip=\"$ip_new\"/" > /tmp/arip.$$ chmod 777 /tmp/arip.$$ ; mv /tmp/arip.$$ $script fi else echo $bo > /tmp/arip.$$ fi fi done echo ; rm -f /tmp/arip.$$ [ "$connect" = "" ] && echo "echec de connexion !" #------------------------------------------------------ # on attend 2 minutes si pas de connexion. # et on termine par un second test. if [ "$connect" = "" ] ; then [ "$led$bip" != "" ] && echo $led$bip > /dev/$dev sleep 2 for bo in $ip ; do [ "$bip" != "" ] && echo $bip > /dev/$dev [ "$connect" = "" ] && connect=`ping -c 1 $bo 2> /dev/null | grep -i " 0% packet loss"` done fi # [ "$connect" = "" ] && $arret [ "$led" = "" ] && echo $led_on > /dev/$dev [ "$led" = "" ] || echo $led_off > /dev/$dev # #=============================================== # Fin du script 'arip' version du Janvier 2010 # par Fred. 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.