Hotcmel Posté(e) le 22 mai 2014 Partager Posté(e) le 22 mai 2014 Bonjour, J'ai un soucis pour executer un .sh en root avec le planificateur du DSM En fait il ne se passe rien du tout Existe il un tuto ou une commende spécifique afin de lancer mon script ? POur ca je suis aller dans Panneau de configuration>planificateur de taches> j ai créé un nouvelle tache avec l utilisateur root puis dans la commande j ai mis -> /volume1/Save/script.sh Vous en pensez quoi ? merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 22 mai 2014 Partager Posté(e) le 22 mai 2014 Est-ce que le script s'exécute lorsque il est lancé en ligne de commande? (via connexion ssh ou telnet) En outre, essaie de rajouter: >>/volume1/Save/script.log 2>&1 à la fin de ta ligne dans le planificateur de tache ce fichier log sera créé lors de l'exécution de la tache et il contiendra les éventuels messages d'erreur que tu pourra consulter. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hotcmel Posté(e) le 22 mai 2014 Auteur Partager Posté(e) le 22 mai 2014 Merci pour ta reponse oui manuellement le script s execute bien tu as raison je vais ajouter les log pour voir ce qu il se passe , je vous tiens au courant 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hotcmel Posté(e) le 22 mai 2014 Auteur Partager Posté(e) le 22 mai 2014 Je viens de faire un test sh: /volume1/Save/script.sh: not found Je penses que c est clair Mais je ne comprend pas car le chemin est bon 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 22 mai 2014 Partager Posté(e) le 22 mai 2014 Quelle est la premiere ligne du script? que donne "ls -l /volume1/Save/script.sh" ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hotcmel Posté(e) le 22 mai 2014 Auteur Partager Posté(e) le 22 mai 2014 la premiere ligne du script est #! /bin/bash -rwxrwxrwx 1 admin users 244 May 15 19:36 /volume1/Save/script.sh Root n a pas les droits sur ce fichier, cela pourrait provenir de la car on voit que admin ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 23 mai 2014 Partager Posté(e) le 23 mai 2014 (modifié) Je vois que tu débutes en unix... la premiere ligne du script est #! /bin/bash Pourquoi avoir choisi ce shell "/bin/bash" qui n'existe pas sous DSM ? (au passage je suis curieux de savoir avec quelle syntaxe tu as exécuté le script en ligne ce commande pour que ça fonctionne). Sous DSM, le shell dont on dispose de base est "/bin/ash" (ou "/bin/sh" mais c'est identique). La ligne "#!/bin/ash" serait donc plus appropriée. Tiens, tant que j'y suis, puisque tu compte lancer le script via le gestionnaire de tâche, je te conseille de mettre "en dur" la déclaration du PATH à l'intérieur ("PATH=/bin:/usr/bin" pour commencer). Vu que, par défaut, les environnements d'exécution batch et interactif ont un PATH différent tu pourrais tomber sur des différences de comportement bien velues à dépatouiller si tu ne fais pas ça. -rwxrwxrwx 1 admin users 244 May 15 19:36 /volume1/Save/script.sh Root n a pas les droits sur ce fichier, cela pourrait provenir de la car on voit que admin ? "root" a toujours *tous les droits* sur *tous les fichiers* (a l'exception du droit d'exécution ("x") qu'il faut explicitement positionner si absent mais il peut le faire de toutes façons avec la commande "chmod" qui va bien) Modifié le 23 mai 2014 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hotcmel Posté(e) le 23 mai 2014 Auteur Partager Posté(e) le 23 mai 2014 merci encore pour ta reponse Oui je debute, c est un script que j ai recuperé Bon je vais changer la premiere ligne alors.. Pour lancer la commande je me connecte en putty et je lance cette commande sh script.sh cest la seul facon que j ai trouvé Pour le path je n ai pas trop compris en fait, désolé 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 23 mai 2014 Partager Posté(e) le 23 mai 2014 (modifié) Pour lancer la commande je me connecte en putty et je lance cette commande sh script.sh cest la seul facon que j ai trouvé Alors, si ça a fonctionné comme cela, en remplaçant dans le script "/bin/bash" par "/bin/sh" ça devrait marcher. Pour le path je n ai pas trop compris en fait, désolé Il s'agirait juste d'ajouter la ligne: PATH=/bin:/usr/bin juste en début de script (apres la ligne "#! ..."). Modifié le 23 mai 2014 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hotcmel Posté(e) le 23 mai 2014 Auteur Partager Posté(e) le 23 mai 2014 Ok merci je vais tester avec le "/bin/sh" en debut de script ainsi que le PATH 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.