Aller au contenu

Lancement Script Impossible


wencepili

Messages recommandés

Bonjour a tous ,

j'ai fait un petit script poutr copier les nouveaux fichiers de mon serveur ftp sur mon synology.

si j'essaie de le lancer en ssh par cette methode :

/volume1/seedbox/sb2.sh ou ./volume1/seedbox/sb2.sh

j'ai le message

-ash : /volume1/seedbox/sb2.sh : not found

mais si je fais :

cd /volume1/seedbox

sh sb2.sh

cela fonctionne.

pourtant mon script est simple:

#!/bin/sh

lftp ftp://Nomlog:mot de passe@serveur -e "set file:charset utf8; set ftp:charset utf8;mirror --only-newer /Downloads/ /volume1/seedbox/ ; quit"

quelqu'un a une idee ?

merci

Lien vers le commentaire
Partager sur d’autres sites

Et si tu fais "sh /volume1/seedbox/sb2.sh" ?

La commande avec le . devant ne marchera pas, car tu lui indiques qu'il part du dossier où tu es, puis il cherche le dossier volume1 dans celui-ci

Sinon, fait un "ls -ltr" tu fichier, tu as bien mis les droits en exécution ? (le x dans le rwxrwxrwx)

Lien vers le commentaire
Partager sur d’autres sites

oui , si je fais "sh /volume1/seedbox/sb2.sh" le script demarre .

et je suis en drwxr-xr-x .

mon probleme est que je veux le lancer en auto toutes les nuits via la planificateur du DSM4.2 de mon synology .

Vu que " /volume1/seedbox/sb2.sh" ne fonctionne pas , je n'y arrive pas.

merci



tiens , je viens de voir dans le resultat du ls -ltr :

-rwxr-xr-x 1 root users 416 jul 2 16:11 sb2.sh

le "user" n'est pas derangeant ?

Lien vers le commentaire
Partager sur d’autres sites

C'est par le planificateur de tache que tu as l'erreur ?

Si c'est le cas, c'est parce qu'il faut préciser le chemin complet des commandes (dans ton cas, la commande lftp)

Fait un "which lftp" et remplace le chemin complet dans ton script

Les droits sont bons sur le fichiers, et le "users" ne dérange pas

Assure toi aussi que tu n'as pas de "^M" à la fin des lignes, en faisant un "vi /volume1/seedbox/sb2.sh"

Lien vers le commentaire
Partager sur d’autres sites

oui , mon script est :

/opt/bin/lftp ftp://Nom:motpasse@serveur -e "set file:charset utf8; set ftp:charset utf8;mirror --only-newer /Downloads/ /volume1/seedbox/ ; quit"

il marche nickel quand je suis connecté en ssh en faisant

/volume1/seedbox/sb2.sh

pourtant j'ai mis la meme chose dans le planificateur :

je l'ai reprogrammé cette nuit , je me dis que le fait d'etre connecté a DSM 4.2 l’empêche peut etre de lancer le script en auto?

en tout cas , un grand merci à toi ...

Lien vers le commentaire
Partager sur d’autres sites

Dans le planificateur il y a moyen d'avoir le détail de l'exécution du script

Faut ajouter dans le champ "exécuter la commande" de la fenetre "modifier la tache" au dessus de ta propre commande, une ligne comme celle-la:

exec >/tmp/monjob.log 2>&1

Ensuite exécuter le script et regarder le contenu de "/tmp/monjob.log": ça donnera certainement l'explication de ce qui coince

PS: pas besoin d'attendre l'heure programme que le script s'exécute, il y a le bouton "exécuter" pour ça.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

J ai fait les modifications. Monjob.log est vide. Je l ai ouvert avec vim, il y a une série traits verticaux, puis c'est écrit : monjob.log 0/0 100%. C est de mieux en mieux....
Ajoutes une ligne "set -x" juste avant la ligne exec pour voir... Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Bon, je n'avais pas lu avec suffisamment d'attention les messages précédents

Si le contenu de ton "sb2.sh" est toujours le même que celui que tu nous à montré dans ton 1er post, il ne *peut pas* marcher par le planificateur de taches: il n'y a pas de commande "lftp" dans le PATH par défaut sous DSM!

Ton script devrait ressembler à ceci pour fonctionner:

#!/bin/sh
PATH=/opt/bin:/bin:/usr/bin

lftp ftp://Nomlog:mot de passe@serveur -e "set file:charset utf8; set ftp:charset utf8;mirror --only-newer /Downloads/ /volume1/seedbox/ ; quit"

A part ça , le contenu vide du fichier log semblerait indiquer que tu as omis la fin de la ligne exec ("2>&1")

Autre chose, quel éditeur as-tu utilisé pour écrire le script ("sb2.sh") ?

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Ça ne change pas.

J ai toujours 0 lignes 0 caractère dans monjob.log

Peux-tu confirmer que la fenetre de définition de tache ressemble bien à ce qui suit?

0DJ6nes.png

quel utilisateur as-tu mis dans "parametres généraux" juste au dessus?

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

oui ,en effet :unsure:

au fait , mon script avait été modifié au milieu des posts :

/opt/bin/lftp ftp://nom:motdepass@serveur -e "set file:charset utf8; set ftp:charset utf8;mirror --only-newer /Downloads/ /volume1/seedbox/ ; quit"

pour DSM,

ca marche le script est lancé avec:

exec >/tmp/monjob.log 2>&1
set -x
/volume1/seedbox/sb2.sh

j ai remodifié DSM et ai remis uniquement "/volume1/seedbox/sb2.sh".

j ai refait un test, tout fonctionne .

pourquoi "set -x" a tout débloqué ?

en tout cas , merci à tous pour votre aide...et votre patience

Modifié par wencepili
Lien vers le commentaire
Partager sur d’autres sites

Ce n'est certainement pas "set -x" qui a débloqué: tu avais sans doute une faute de frappe quelque part dans le champ de saisie des commandes pour la tache (le contenu vide du fichier log me faisant pencher pour cette hypothese) et en l'éditant pour y faire les modif tu a corrigé la faute sans faire gaffe

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Bon , c'est de mieux en mieux.

la synchro de cette nuit ne s'est pas faite (elle été programmée à 1 h00) . Je l'ai lancé ce matin en manuel via le planificateur de DSM, et la ca fonctionne .

quelqu'un voit une raison pour que l'automatisme ne fonctionne pas ? :blink:

Rajoute le log ("exec ... 2>&1") et met la commande "mirror" de lftp en mode verbeux ("mirror -v", tu peux ajouter jusq'à 3 "v" pour plus de détails: -vvv)

Et demain tu iras vérifier le contenu du log

**EDIT**

Tu as bien ajouté la ligne "PATH=" dans ton script comme j'ai demandé n'est-ce-pas?

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

ok merci , je vais faire cela et reprogrammer de midi .

Pour le Path , non , je n'ai pas mis le path , J'avais mis en debut de commande le chemin complet ( obtenu avec "Which Lftp") :/opt/bin/lftp

et comme ca marche lorsque je le lance en manuel ( via DSM et via SSh), je n'ose plus le modifier.

il faut que je le modifie ?

Lien vers le commentaire
Partager sur d’autres sites

Pour le Path , non , je n'ai pas mis le path , J'avais mis en debut de commande le chemin complet ( obtenu avec "Which Lftp") :/opt/bin/lftp

et comme ca marche lorsque je le lance en manuel ( via DSM et via SSh), je n'ose plus le modifier.

il faut que je le modifie ?

Non, si tu utilise le chemin absolu pour la commande lftp, dans ce cas c'est suffisant (a moins que lftp "forke" des commandes mais c'est peu probable)
Lien vers le commentaire
Partager sur d’autres sites

je viens de tester :

#!/bin/sh
PATH=/opt/bin:/bin:/usr/bin

lftp ftp://nom:motpass@server -e "set file:charset utf8; set ftp:charset utf8;mirror -vvv --only-newer /Downloads/ /volume1/seedbox/ ; quit"

via ssh , bah il ne trouve pas , j'ai le message :

-ash: /volume1/seedbox/sb2.sh not found

le meme maudit message que j'ai depuis le debut.

donc je rebascule sur :

/opt/bin/lftp ftp://nom:motpass@server -e "set file:charset utf8; set ftp:charset utf8;mirror -vvv --only-newer /Downloads/ /volume1/seedbox/ ; quit"

et je reste avec le ftp en mode verbeux

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.