Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/07/2019, à 12:43

choky

(Résolu)cron script sh pour sftp

bonjour,
j'ai fait un script sh pour automatiser la connexion a google et upload des fichier txt,
lorsque je lance le script avec  /home/admin/google/google.sh  il se lance sans erreur et les fichier s sont bien envoyés,
mais lorsque je le lmet dans un cron il ne se lance pas, j'ai essayé plusieurs façon d’écrire le cron mais toujours pareil

voila le contenu du script

#!/bin/bash
sshpass -p 'xxxxxxxxx' sftp -P 19321 mc-sftp-xxxxxxxx@partnerupload.google.com<< END_SCRIPT
put /home/admin/google/*.txt
exit
END_SCRIPT

exit 0;



merci pour votre aide

Dernière modification par choky (Le 26/07/2019, à 12:50)

Hors ligne

#2 Le 24/07/2019, à 14:36

Watael

Re : (Résolu)cron script sh pour sftp

salut,

merci de mettre le code entre balises CODE.

comment crées -tu ta tâche cron ?
le script "ne se lance pas" parce que les fichiers ne sont pas uploadés, mais si tu ajoutes la création d'un fichier temporaire, est-il créé ?

ça ne devrait pas être mput pour envoyer plusieurs fichiers ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 24/07/2019, à 14:42

choky

Re : (Résolu)cron script sh pour sftp

merci pour votre reponse,comme j'ai deja mentionné en excutant diurectement le script tout fonctionne et les fichier s sont bien envoyés a google .
pour le cron j'ai essayé avec plusieur facon:
crontab -e
*       21      *       *       *       cd /home/admin/google/ && sh google.sh
*       21      *       *       *       /home/admin/google/google.sh
*       21      *       *       *      ./home/admin/google/google.sh
*       21      *       *       *       /bin/bash /home/admin/google/google.sh
*       21      *       *       *      /bin/sh  /home/admin/google/google.sh
*       21      *       *       *       bash /home/admin/google/google.sh

mais aucune n'a fonctionnée
par contre si je suis sur shell et que je fais  /home/admin/google/google.sh   ca fonctionne ou meme si je fais bash  /home/admin/google/google.sh idem
en effet quand je suis avec htop, a l'heure du cron il ne se passe rien du tout,ca n'affiche pas le debut d'excution d'un script ou autre ,rien,
j'ai d'autre cron qui eu fonctionnent normalement aussi

Dernière modification par choky (Le 24/07/2019, à 14:55)

Hors ligne

#4 Le 24/07/2019, à 16:38

Watael

Re : (Résolu)cron script sh pour sftp

Watael a écrit :

merci de mettre le code entre balises CODE.

sshpass et sftp sont-ils tous les deux dans un répertoire du PATH restreint de cron ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 24/07/2019, à 16:48

lebossejames

Re : (Résolu)cron script sh pour sftp

Bonjour,

As tu essayé ceci pour voir si ton script fonctionne sur un terminal?

cd /
/home/admin/google/google.sh

Hors ligne

#6 Le 24/07/2019, à 17:03

Watael

Re : (Résolu)cron script sh pour sftp

sans intérêt : le premier slash indique déjà la racine, il est inutile de s'y déplacer.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#7 Le 24/07/2019, à 17:13

lebossejames

Re : (Résolu)cron script sh pour sftp

Je soupçonne une histoire de PATH dans le script.

Hors ligne

#8 Le 24/07/2019, à 17:15

Watael

Re : (Résolu)cron script sh pour sftp


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#9 Le 26/07/2019, à 09:11

choky

Re : (Résolu)cron script sh pour sftp

pardon pour ma reponse tardive ,
pour ce qui conserne le script j'ai deja expliqué qu'il fonctionne tres bien quand je le lance depuis un terminal,
j'ai essayé de rejouter au debut de script  cd /usr/bin/ mais ca n'a rien changé .
pour ce qui conserne le path restreint de cron, je ne sais pas comment vérifier cela sad
j'ai fait which sshpass et rajouté au debut du script la ligne  " cd /usr/local/bin/ "  mais ca n'a rien changé
je cherché sur le net et j'ai trouvé une autre solution qui n'a pas marché mais qui peut indiquer le probleme ,j'ai mis cela dans le cron, en essayant de forcer le path de sshpass -->  59       08      *       *       *       PATH=$PATH:/usr/local/bin/sshpass && export PATH && sshpass /home/admin/google/google.sh

et le log m'a donné cela -> /bin/sh: 1: sshpass: not found

Dernière modification par choky (Le 26/07/2019, à 11:06)

Hors ligne

#10 Le 26/07/2019, à 12:49

choky

Re : (Résolu)cron script sh pour sftp

c'est bon probleme resolu, il fallait juste rajouter /usr/local/bin/sshpass au lieu de sshpass pour que ca fonctionne,merci a tous pour votre aide

Hors ligne

#11 Le 26/07/2019, à 14:49

MicP

Re : (Résolu)cron script sh pour sftp

…il fallait juste rajouter /usr/local/bin/sshpass au lieu de sshpass pour que ca fonctionne…

céskilavédi tongue

Dernière modification par MicP (Le 26/07/2019, à 14:50)

Hors ligne