Chamaille Posté(e) le 12 octobre 2012 Partager Posté(e) le 12 octobre 2012 Bonjour à tous, Je suis actuellement entrain d'essayer de mettre en place le scénario suivant : -Réveiller d'un PC distant à travers internet depuis le syno avec un "magic packet" -Lancer un backup ensuite. Jusqu'ici j'ai réussi à installer ipkg, puis le paquet wakelan qui fait très bien sont boulot en ligne de commande. Je parviens donc à reveiller le PC distant avec cette commande : wakelan -m FFFFFFFFFFFF -b mon-ip-distante.fr -p 9 -m pour l'adresse mac -b pour le broadcast -p port distant J'essaye maintenant d'automatiser tout cela en ajoutant une entrée dans la crontab mais sans succès. Dans la tabulation commande je ne sais pas quoi mettre? Quel est le chemin ou doit s’exécuter wakelan? #minute hour mday month wday who command 20 18 * * 1,4 root [color=#ff0000]wakelan -m FFFFFFFFFFFF -b mon-ip-distante.fr[/color] -p 9[/code] C'est surement très anodin mais j'ai un autre soucis par ailleurs, surement du à mon ignorance du monde linux. Apres avoir installé ipkg et wakelan en root via une session terminal j'arrivais sans problème à lancer des commandes pour ces paquets. Désormais lorsque je lance par exemple en root [CODE]wakelan -?[/code] il me dit "not found" alors que lorsque je suis connecté en admin il trouve bien mais seulement je n'ai plus assez de privilèges pour certaines actions. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 12 octobre 2012 Partager Posté(e) le 12 octobre 2012 utiliser plutot le chemin complet de wakelan (/opt/bin/wakelan) devrait résoudre les deux problèmes. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chamaille Posté(e) le 13 octobre 2012 Auteur Partager Posté(e) le 13 octobre 2012 (modifié) Merci pour l'info, ça fonctionne en effet en ligne de commande avec le prefixe mais j'ai toujours mon soucis pour faire fonctionner le wakelan dans la crontab Voici ce que j'ai mis: #minute hour mday month wday who command 7 8 * * 1,4 root /usr/syno/bin/synopkg chkupgradepkg 0 0 * * 0 root /usr/sbin/ntpdate -b time.nist.gov 0 1 * * 0,6 root /var/packages/AntiVirus/target/bin/synoavscan --all 0 13 * * 3 root /usr/syno/bin/smartctl -d ata -t long /dev/sdb > /dev/null 2>&1 30 12 * * 3 root /usr/syno/bin/smartctl -d ata -t long /dev/sda > /dev/null 2>&1 1 15 * * * root /opt/bin/wakelan -m FFFFFFFFFFF -b adresse-ip.fr -p 9 Une idée? Modifié le 13 octobre 2012 par Chamaille 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 13 octobre 2012 Partager Posté(e) le 13 octobre 2012 (modifié) Merci pour l'info, ça fonctionne en effet en ligne de commande avec le prefixe mais j'ai toujours mon soucis pour faire fonctionner le wakelan dans la crontabVoici ce que j'ai mis: #minute hour mday month wday who command7 8 * * 1,4 root /usr/syno/bin/synopkg chkupgradepkg0 0 * * 0 root /usr/sbin/ntpdate -b time.nist.gov0 1 * * 0,6 root /var/packages/AntiVirus/target/bin/synoavscan --all0 13 * * 3 root /usr/syno/bin/smartctl -d ata -t long /dev/sdb > /dev/null 2>&130 12 * * 3 root /usr/syno/bin/smartctl -d ata -t long /dev/sda > /dev/null 2>&11 15 * * * root /opt/bin/wakelan -m 000000000000 -b adresse-ip.fr -p 9[/CODE] Une idée? Tout ca sur une seule ligne? Modifié le 13 octobre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chamaille Posté(e) le 13 octobre 2012 Auteur Partager Posté(e) le 13 octobre 2012 Il y a eu un petit problème de formatage du message en effet. J'ai édité le post 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 13 octobre 2012 Partager Posté(e) le 13 octobre 2012 (modifié) Il y a eu un petit problème de formatage du message en effet. J'ai édité le post Ajoute a la fin de la ligne wakelan ceci: >> /tmp/wakelan.log 2>&1 ce qui va donc donner 1 15 * * * root /opt/bin/wakelan -m FFFFFFFFFFF -b adresse-ip.fr -p 9 >>/tmp/wakelan.log 2>&1 Et viens poster le contenu de /tmp/wakelan.log des que cela se sera exécuté N'oublie pas aussi qu'il est nécessaire de relancer le cron pour que les modifications soient prises en compte Cela doit se faire comme ceci: env - /usr/syno/etc.defaults/rc.d/S04crond.sh (copier/coller si possible) **EDIT** Et le "env -" n'est pas la pour faire joli ! Modifié le 13 octobre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 13 octobre 2012 Partager Posté(e) le 13 octobre 2012 N'oublie pas aussi qu'il est nécessaire de relancer le cron pour que les modifications soient prises en compte Cela doit se faire comme ceci: env - /usr/syno/etc.defaults/rc.d/S04crond.sh (copier/coller si possible) **EDIT** Et le "env -" n'est pas la pour faire joli ! /usr/syno/etc/rc.d/S04crond.sh restart n'est pas suffisant ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 13 octobre 2012 Partager Posté(e) le 13 octobre 2012 /usr/syno/etc/rc.d/S04crond.sh restart n'est pas suffisant ? Sans le "env -" les programmes lancés en crontab vont hériter de tout ton environnement actuel (ton PATH, les caractéristiques de ta connexion SSH, etc ...) au moment ou la commande "S04crond.sh restart" est passée Ceci peut créer des problèmes bien velus (j'ai buté pendant une semaine sur un plantage de time backup du a ce genre de sketch) Normalement S04crond.sh devrait se charger de la chose (lancer le cron avec un environnement "nettoyé") malheureusement il ne le fait pas (en fait ça à peut-être été corrigé depuis DSM 4.1, suis pas allé vérifier) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chamaille Posté(e) le 13 octobre 2012 Auteur Partager Posté(e) le 13 octobre 2012 (modifié) J'ignorais qu'il fallait redémarrer la table cron. Après un restart ca marche impec. Pour info /usr/syno/etc/rc.d/S04crond.sh restart ne fonctionne pas. J'ai du faire /usr/syno/etc/rc.d/S04crond.sh stop /usr/syno/etc/rc.d/S04crond.sh start Merci beaucoup ! Modifié le 13 octobre 2012 par Chamaille 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 13 octobre 2012 Partager Posté(e) le 13 octobre 2012 ne fonctionne pas. J'ai du faire /usr/syno/etc/rc.d/S04crond.sh stop /usr/syno/etc/rc.d/S04crond.sh start Merci beaucoup ! En effet mon exemple était incomplet, Je te conseille pour ne pas risquer des bug tordus de le refaire comme ceci: (avec le "env -") env - /usr/syno/etc.defaults/rc.d/S04crond.sh stop env - /usr/syno/etc.defaults/rc.d/S04crond.sh start 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chamaille Posté(e) le 13 octobre 2012 Auteur Partager Posté(e) le 13 octobre 2012 Ok je ne prend pas de risque. C'est fait. Merci! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 13 octobre 2012 Partager Posté(e) le 13 octobre 2012 Si ça peut être utile j'utilise un petit script à ma sauce pour manipuler la crontab en toute sécurité Il suffit de maintenir quelque part un fichier crontab contenant uniquement les entrées "perso" Le nom de ce fichier est a substituer dans le script (ligne suivant le commentaire "ligne à modifier a sa convenance") S'exécute en 3 modes: "preview": visualise la crontab générée, lancé par la commande "cronupdate -p" "diff": compare avec la conf actuelle sans l'appliquer, lancé par la commande "cronupdate -d" "apply": applique les modif, lancé par la commande "cronupdate" (sans parametre) Mon script est ici: http://pastebin.com/SmFHxehg 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 13 octobre 2012 Partager Posté(e) le 13 octobre 2012 Sans le "env -" les programmes lancés en crontab vont hériter de tout ton environnement actuel (ton PATH, les caractéristiques de ta connexion SSH, etc ...) au moment ou la commande "S04crond.sh restart" est passée Ceci peut créer des problèmes bien velus (j'ai buté pendant une semaine sur un plantage de time backup du a ce genre de sketch) Normalement S04crond.sh devrait se charger de la chose (lancer le cron avec un environnement "nettoyé") malheureusement il ne le fait pas (en fait ça à peut-être été corrigé depuis DSM 4.1, suis pas allé vérifier) Merci pour l'explication CoolRaoul, je me coucherais moins con ce soir ! J'arrête de squatter maintenant. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
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.