Bonjour à tous
j'ai vraiment besoin d'aide sur ce coup là, je comprends pas tout....
je souhaite automatiser un simple transfert de fichier de mon serveur vers un serveur distant en SFTP avec clé...via un Ubuntu
donc 3 machines en jeu : M1 = serveur source (sur lequel se trouve mon fichier à uploader) M2 = mon Ubuntu (sur le quel j'ai mon script) M3 = serveur distant (cible)
Alors je fais :
- sur M2 le script [transfert.sh] suivant dans /root/transfert/ :

////[Transfert.sh]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#!/bin/sh
#je travaille dans le dossier [transfert] de M2
cd /root/transfert
#puis je recup mon fichier de M1 là tout est ok
smbget -Rr smb://monuser:monpass@192.168.1.1/mondossier/
#ensuite je transfere de M2 vers M3 avec, dans cmd.scr,  mes commandes pour Sftp
psftp -b /root/transfert/cmd.scr -i /root/transfert/key_ssh_rsa.ppk monuser@serveurdistant
le fichier cmd.scr dans lequel se trouvent les commandes :

////[cmd.scr]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
cd /test #je me positionne dans M3 -> [test] pour balancer dans ce dossier
mput /root/transfert/*.TXT #je veux uploader tous les TXT de ce dossier vers M3 -> [test]
Voila le probleme :

Quand je fais en ligne de commande sur M2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
/root/transfert/transfert.sh
Tout est ok, mes fichiers sont uploadés, ca fonctionne

ce que je souhaite faire, c'est par Cron toutes les minutes exécuter le batch pour l'upload, donc :

en root :
puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
* * * * * root /root/transfert/transfert.sh
et là ca se gatte, j'ai bien le fichier.txt qui va de M1 -> M2.transfert, mais c'est tout, j'ai rien dans M3->test

Comment expliquer qu'en ligne de commande tout se passe bien, mais avec Cron l'execution toutes les minutes est ok mais va pas jusqu'au bout ?!??!!

Mes souvenirs en batch sont un peu loins...

Quand je fais dans [Transfert.sh] :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
psftp -b /root/transfert/cmd.scr -i /root/transfert/key_ssh_rsa.ppk monuser@serveurdistant > log.txt
le fichier log.txt est bien créé, mais il est vide quand je passe par le Cron mais il est créé et renseigné quan je passe par ma ligne de commande...


Un enorme Merci pour votre aide, je seche