Calcul de checksum en passant par SFTP
Résolu/Fermé
drumjoel
Messages postés
52
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
8 septembre 2014
-
3 mai 2012 à 13:47
drumjoel Messages postés 52 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 8 septembre 2014 - 3 mai 2012 à 16:43
drumjoel Messages postés 52 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 8 septembre 2014 - 3 mai 2012 à 16:43
A voir également:
- Sftp checksum
- Md5 checksum - Télécharger - Web & Internet
- Cmos checksum error ✓ - Forum BIOS
- Bad checksum ✓ - Forum BIOS
- Filezilla impossible d'établir une connexion au serveur sftp - Forum Réseau
- Cft vs sftp - Forum Linux / Unix
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
3 mai 2012 à 14:06
3 mai 2012 à 14:06
Salut,
SFTP ne pouvant pas exécuter de commandes autres que celles implémentées d'origine, je ne pense pas que ce soit possible.
La seule solution envisageable est d'avoir un fichier MD5 sur le site associé à chaque fichier, que tu rapatrieras en même temps que le fichier source et tu pourras à partir de là faire ta vérification en te passant même des variables...
SFTP ne pouvant pas exécuter de commandes autres que celles implémentées d'origine, je ne pense pas que ce soit possible.
La seule solution envisageable est d'avoir un fichier MD5 sur le site associé à chaque fichier, que tu rapatrieras en même temps que le fichier source et tu pourras à partir de là faire ta vérification en te passant même des variables...
drumjoel
Messages postés
52
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
8 septembre 2014
2
3 mai 2012 à 14:16
3 mai 2012 à 14:16
Ok, merci de la rapidité
je marque donc comme résolus.
je marque donc comme résolus.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
3 mai 2012 à 14:19
3 mai 2012 à 14:19
Attends tout de même d'autres avis, j'avais bien précisé : "je ne pense pas que ce soit possible.", sans être catégorique à 100% ;-\
drumjoel
Messages postés
52
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
8 septembre 2014
2
3 mai 2012 à 16:42
3 mai 2012 à 16:42
Ben mes recherche poussait dans ton sens donc j'en ai conclu que tu avais raison
drumjoel
Messages postés
52
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
8 septembre 2014
2
3 mai 2012 à 16:43
3 mai 2012 à 16:43
Voici le script que j'ai réaliser et qui fonctionne
#!/usr/bin/bash #Ce script telecharge un fichier dont le nom est stocker $downfile #le fichier $downfile contient le md5 et le nom du fichier à télécharger #si le fichier lister dans $down file n'existe pas en local ou n'a pas le meme checksum (md5) alors on le telecharge sur le serveur downfile=list_onco.txt sftp usersftp@192.168.0.40:$downfile #telecharge le fichier list_onco.txt ls | grep $downfile > /dev/null 2>&1 if [ $? -eq 0 ]; then #test la presence du fichier $downfile cat "$downfile" | while read line do md5distant=$(echo $line | cut -b1-32) #recupere le md5 du fichier distant stocker dans list_onco.txt nomFich=$(echo $line | cut -b34-) #recupere le nom du fichier stocker dans list_onco.txt ls | grep $nomFich > /dev/null 2>&1 if [ $? -eq 0 ]; then #test la presence du fichier $nomFich md5local=$(md5sum $nomFich | cut -b1-32) #si le fihchier est présent stocke le checksum du fichier local while [ "$md5local" != "$md5distant" ] #tant que le checksum local est different du checksum distant do sftp usersftp@192.168.0.40:$nomFich #on telecharge le fichier distant md5local=$(md5sum $nomFich | cut -b1-32) #stocke le checksum du fichier telecharger dans checksum du fichier local done else #si le fichier n'est pas stocker en local sftp usersftp@192.168.0.40:$nomFich #on le telecharge md5local=$(md5sum $nomFich | cut -b1-32) #calcul le md5sum local du fichier telecharger while [ "$md5local" != "$md5distant" ] #tant que le checksum local est different du checksum distant do sftp usersftp@192.168.0.40:$nomFich #on telecharge le fichier distant md5local=$(md5sum $nomFich | cut -b1-32) #stocke le checksum du fichier telecharger dans checksum du fichier local done fi done else exit; #erreur fi exit 0; #aucun erreur