Bonjour,
J'ai un script python à développer très rapidement
Le script devra se connecter en sftp sur un serveur avec login et mot de passe et uploader des documents
Il parcourrera 3 dossiers locaux que l'on doit pouvoir paramétrer dans un fichier .cfg qui se trouvera dans le dossier du script
Ensuite, établir une connexion sécurisée sftp avec un serveur
Copier 1 par 1 tout les fichiers du premier dossier sur le premier serveur
En cas de succès, le fichier local est supprimé. En cas d'echec, ne pas supprimer le fichier local
En bonus, envoyer un mail en cas d'erreur mais ne pas s'attarder sur ce point si manque de temps nous pourrons le rajouter par la suite.
Ensuite passer aux 2eme dossier 2eme serveur
Puis 3eme dossier 3eme serveur
J’aimai utiliser cette lib qui permet de se connecter en sftp et qui me semble pas mal ou une lib équivalente :
Exemple d'utilisation sur le site :
import pysftp
with pysftp.Connection('hostname', username='me', password='secret') as sftp:
with sftp.cd('public'): # temporarily chdir to public
sftp.put('/my/local/filename') # upload file to public/ on remote
sftp.get('remote_file') # get a remote file
Il faut sûrement installer des dépendances crypto pour que ça marche avec pip install sous debian par exemple
Tout doit être paramétrable dans le fichier config.cfg (ou config.ini) :
- Dossier local 1, 2 et 3
- login sftp 1, 2 et 3
- Password sftp 1, 2 et 3
- Url hote sftp 1, 2 et 3
- mail destination si option alerte mail en cas d'echec
Éventuellement permettre de renseigner plus de 3 dossiers dans le fichier de config et parcourir avec une boucle for si demain nous voulons rajouter un dossier upload / hôte mais ce n'est pas indispensable dans l'immédiat, ça peut être une option à faire plus tard...
La particularité est que le programme doit fonctionner sous Linux si possible (je peux adapter si Linux pose problème) mais surtout windows server sans interpréteur - Pour windows il faudra donc le compiler avec pyexe par exemple
En fin de script, lancer un get http sur un script php sur une url à spécifier dans le fichier de config. Cela permet de déclencher l'import dans notre soft coté serveur (Pour info c'est un programme de transfert qui met à disposition des fichiers en téléchargement pour des clients de la plateforme). Il nous manque juste le script coté client pour windows.
Le dev devra fournir le source, +méthode de compilation avec pyexe sous windows et lib à installer pour pouvoir recompiler sous windows si nous avons des choses à modifier plus tard. Le script devra pouvoir être lancé en tâche de fond sous windows avec une tâche planifiée toute les heures..
D'avance merci :)