#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
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
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
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…
Dernière modification par MicP (Le 26/07/2019, à 14:50)
Hors ligne