GNU/Linux >> Tutoriels Linux >  >> Linux

LINUX :comment détecter que le téléchargement de fichier ftp est terminé

J'essaierais d'utiliser inotify, code d'événement IN_CLOSE_WRITE.


Le serveur ftp Apache "Mina" (java) pourra peut-être faire ce que vous voulez, y compris détecter un échec de téléchargement, comme mentionné ici

Citation :

À partir de Ftplet.afterCommand, vous devriez pouvoir consulter la réponse. Pour les transferts échoués que FtpServer peut détecter (ce qui provoque une exception de socket ou une exception d'IO), cela devrait être quelque chose comme 426 ou 551.

Vue d'ensemble du ftplet ici, y compris les codes de réponse.

La signature de la méthode afterCommand :

FtpletResult afterCommand(FtpSession session, FtpRequest request, FtpReply reply)

Vous cochez reply.getCode() dans votre méthode surchargée. Vous devriez sous-classer DefaultFtplet plutôt que d'implémenter Ftplet interface à partir de zéro.

Notez que DefaultFtplet::afterCommand montre comment détecter à quelle commande client on répond. Vous pouvez vérifier STOR ou STOU et le code de réponse 426 ou 551 pour détecter les échecs de téléchargement.

Cependant, cela peut ne pas détecter un téléchargement interrompu intentionnellement par le client, si l'application cliente décide de traiter le transfert comme si le fichier était juste plus court qu'il ne l'est. Dans le cas d'une connexion accidentellement interrompue, je pense que la vérification du code de réponse fonctionnera. Un test peut consister à tuer l'application cliente ou à désactiver l'interface réseau de la machine cliente.

Pour gérer les téléchargements réussis (votre question d'origine), vous pouvez rechercher le code de réponse de réussite à la place, c'est-à-dire 226 .


Linux
  1. Comment gérer les capacités des fichiers Linux

  2. Comment trouver un fichier sous Linux

  3. Comment vider un fichier journal sous Linux

  4. Comment télécharger un fichier par FTP depuis la ligne de commande ?

  5. Comment copier un fichier via FTP en utilisant Ubuntu Linux ?

Comment monter un fichier ISO sur Linux

Comment rendre un fichier exécutable sous Linux

Comment vérifier la somme de contrôle sur Linux

Comment renommer un ou plusieurs fichiers sous Linux

Comment créer un lien symbolique vers un fichier sous Linux

Comment chiffrer un fichier sous Linux