|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 8 ![]() |
Bonjour,
Je veux automatiser un script qui se lance tous les jours sur un serveur win pour récupérer un fichier sur une machine distante linux : ce que j'ai fait : Code :
psftp user@hostname -pw passwd -bc -b script.bat Code :
Merci d'avance. |
||
|
|
00
|
|
|
#2 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 8 ![]() |
j'ai pu contourner le pbm en deux commande plink et psftp et ça marche très bien :
1- j'ai crée un script shell sur ma machine distante (linux) et je l'exécute avec plink le résultat du script (le nom de fichier) est redirigé vers vers un fichier qui sera appelé par la commande psftp : Code :
plink -ssh user@host -pw pwd bash -l -c './script.sh' >> fichier.src Code :
Code :
psftp user@hostname -pw passwd -bc -b fichier.src |
||
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 8 ![]() |
J'avance doucement, c'est pas encore à 100% ..
Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 8 ![]() |
Comment puis-je mettre cette commande dans une variable?
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 8 ![]() |
j'ai trouvé la solution c'est très simple avec une boucle for
Code :
ça fonctionne et j'ai pu récupérer ma variable. on pourra le faire autrement avec une recherche sur une chaîne de caractère : Code :
FOR /f %nom_fic in ('type C:\Programs\Test\fichier.txt ^|find "chaîne"') do set %nom_fic
|
||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : avril 2010 Messages : 973 ![]() |
Salut,
C'est quoi le contenu de "fichier.txt" ?
__________________
. Assurément, je suis un consommateur militant, ma voix c'est mon porte-monnaie ... ![]() C'est se faire entendre par les marques et enseignes peu scrupuleuses en n'achetant pas leurs produits. |
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : février 2012 Messages : 8 ![]() |
Hello,
Le contenu de mon fichier est une liste des fichiers avec un suffixe de date genre : Code :
maintenant que j'ai la procédure de mon script batch comment puis-je l'automatisé avec une tache planifiée? la commande at ? y a t-il d'autre commande plus efficace genre contab en unix? Merci. |
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : avril 2010 Messages : 973 ![]() |
Peux-tu en quelques mots écrire ce que tu souhaites faire ? Car comme tu vas dans tous les sens, c'est pas évident au premier abord de cerner tes attentions... Tu veux rapatrier localement des fichiers à partir d'un serveur FTP distant, c'est ça ?
__________________
. Assurément, je suis un consommateur militant, ma voix c'est mon porte-monnaie ... ![]() C'est se faire entendre par les marques et enseignes peu scrupuleuses en n'achetant pas leurs produits. |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2012 Messages : 8 ![]() |
mon objectif est de faire un transfert sécurisé d'une liste de fichiers entre deux machine distante (serveur linux - serveur windows), je veux que mon script se lance chaque jour à partir de windows.
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : avril 2010 Messages : 973 ![]() |
Dans ce cas, pour récupérer ta liste de fichiers log il suffit de faire une requête LIST à ton serveur SFTP.
ta commande serait du genre Code :
psftp tes_options... ton_script > liste_fichiers.txt N'ayant pas de serveur sftp, je ne peux pas utiliser la commande psftp et je ne peux donc t'en dire plus sur ses spécificités. Pour l'automatisation, tu peux utiliser le planificateur de tâche.
__________________
. Assurément, je suis un consommateur militant, ma voix c'est mon porte-monnaie ... ![]() C'est se faire entendre par les marques et enseignes peu scrupuleuses en n'achetant pas leurs produits. |
|
|
00
|
|
|
#11 | |
|
Invité de passage
![]() Inscription : février 2012 Messages : 8 ![]() |
Citation:
j'ai essayé ce bout de code : Code :
for /f "delims=" %%i in ('type fichier.txt') do set N_ligne=%%i& set /a compt+=1&
|
|
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Inscription : avril 2010 Messages : 973 ![]() |
C'est normal qu'il y ait une erreur étant donné que tu ne sais pas ce que tu fais. Une solution, comme tu disposes de ta liste de fichiers dans "fichier.txt", c'est de construire un script FTP avec la liste des fichiers à rapatrier, enfin je suppose, mais bon, comme tu utilises des fois "put", des fois "get", c'est à s'y perdre.
Quoi qu'il en soit, pour la piste que je te suggère, il suffit d'intégrer ces quelques lignes de code dans ton script cmd pour construire "psftpcmd.txt" avant de le transmettre pour traitement à psftp : Code :
__________________
. Assurément, je suis un consommateur militant, ma voix c'est mon porte-monnaie ... ![]() C'est se faire entendre par les marques et enseignes peu scrupuleuses en n'achetant pas leurs produits. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com