Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1490 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Script de transfert automatique de fichiers

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script de transfert automatique de fichiers

n°2050282
benjikos
Gamertag : ben thom
Posté le 19-01-2011 à 18:25:01  profilanswer
 

Bonjour,
 
Je cherche à transférer automatiquement des fichiers des données d'un PC vers une station UNIX distante. Pour cela, j'ai besoin d'un script (.bat) pour automatiser des transferts sécurisés géré par la Gestion de tâches planifiées de Windows à intervalle de temps régulier.  
 
Synoptique :
 
1- se placer dans un répertoire c:\envoi par exemple
2- faire la liste des fichiers de type "12345.toto.tar" dont "12345" est la taille du fichier et écrire les noms dans un fichier "fic_à_envoyer.txt"
3- si liste vide alors on stop
4- si la taille du fichier = 1ere partie du nom du fichier (ex: 12345)  
alors on fait le transfert (sftp ou scp ou ssh) et on déplace le fichier transféré dans un autre répertoire du type "LAUNCH_Job\" pour ne pas le retransférer une autre fois.  
    sinon on passe au fichier suivant dans la liste "fic_à_envoyer.txt"
 
ou autre façon :
 
1- se placer dans un répertoire c:\envoi par exemple
2- lister les fichiers de type "12345.toto.tar" dont la taille = 1ere partie du nom du fichier et écrire leur nom dans un fichier "fic_à_envoyer.txt"
3- si liste vide alors on stop
4- sinon on fait le transfert (sftp ou scp ou ssh) et on déplace le fichier transféré dans un autre répertoire du type "LAUNCH_Job\"  
 
Remarque: La taille du fichier est écrite en préfixe dans le nom du fichier et est séparé par un point.
 
 
 
J'ai commencé à écrire un script en DOS qui ressemble à ca, mais si on peut le faire en Python, ca m'intéresse!
 
: debut
set mydate=%date:~6,4%%date:~3,2%%date:~0,2%
set mytime=%time:~0,2%%time:~3,2%%time:~6,2%
Set MyCurDir=%CD%
 
dir /b "%CD%\*.tar" > "%CD%\fic_in_%mydate%_%mytime%.txt"
 
dir fic_in_%mydate%_%mytime%.txt |find "%1" > resnul.txt
for /f "tokens=5 delims=\" %%i in (resnul.txt) do set taille= %%i
 
if not %taille% == 0 (
psftp host -l user -pw password -b %CD%\LAUNCH_Job.txt  
) else (
echo le fichier est vide
goto fin
)
 
IF ERRORLEVEL 0 goto debut
 
move %CD%\*.tar %CD%\Job_Launch\.  
:fin
 
 
Remarque : la fichier "LAUNCH_Job.txt", contient les lignes de commande :
cd /tmpdir/envoi/
mput *
 
 
La boucle "for" ne fonctionne pas bien car la commande ne renvoie pas la "taille" et je ne sais pas pourquoi.
 
Merci d'avance.


Message édité par benjikos le 19-01-2011 à 18:25:34
mood
Publicité
Posté le 19-01-2011 à 18:25:01  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Script de transfert automatique de fichiers

 

Sujets relatifs
[HTML] Insertion automatique d'un terme dans la barre d'adresseenvoie automatique de fax
script déplacement répertoire[YNOT] Langage de script JAVA - présentation
Parcourir fichiers répertoire + modif en batchScript Php pour récupere n° de semaine dans une table
Req sur 3 fichiers Excel - Comment s'utilise RechercheV en VBA svp ?Optimisation interface et nombre de fichiers
Plus de sujets relatifs à : Script de transfert automatique de fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR