Calcul de checksum en passant par SFTP
Résolu
drumjoel
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
drumjoel Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
drumjoel Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Sftp checksum
- Md5 checksum - Télécharger - Web & Internet
- Cmos checksum error - Forum Windows
- Impossible d'initialiser le protocole sftp. sftp fonctionne-t-il sur le serveur ? ✓ - Forum Linux / Unix
- J'ai un problème de Bad checksum(CMOS) ✓ - Forum BIOS
- BIOS CMOS checksum error ✓ - Forum BIOS
3 réponses
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...
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