Forum général.général FTP et modfi time

Posté par  .
Étiquettes : aucune
0
30
mai
2005
Hello à tous,

Je voudrais écrire un petit bout de code qui, à intervalle régulier, se connecte à mon serveur FTP et regarde dans chque sous-dossier si oui ou non un client l'a uploadé un nouveau fichier. Pour savoir si ce fichier est récent, puis-je me fier aveuglément a la date de modification du dossier / fichier, ou celle ci est elle aisément "falsifiable" par un client (par exemple, la date de modif sur le serveur FTP serait ceelle de modif sur la machine qui uploade, et pas la date d'upload ?

MErci d'avance,

Nicolas
  • # touch

    Posté par  . Évalué à 2.

    Si le client à un accès shell (PHP ?) il peut facilement faire un touch sur le fichier (=> conserver une liste des derniers fichiers).

    Après je ne pense pas qu'un client puisse modifier la date d'un fichier uploadé (rien dans les rfc). Le fichier ne contient pas d'informations sur sa date de modification, elles sont dans l'inode local, donc le serveur prend la date courante.
  • # Utilise pure-ftpd

    Posté par  . Évalué à 1.

    Avec pure-ftpd, tu peux utiliser pure-uploadscript qui te permet
    de lancer un programme, script shell ou autre à chaque fois
    qu'un client uploade un fichier.
    - Compiler ou installer pure-ftpd avec le support de pure-uploadscript
    - rajouter dans le script de lancement de pure-ftpd :
    /usr/sbin/pure-uploadscript -B -r "nom du programme"

    avec un programme comme ça :
    #!/bin/bash

    jour=`date +%d/%m/%y`
    heure=`date +%H:%M`
    echo Fichier $1 transfere le $jour a $heure >> fichier_log

    Apres tu regardes dans fichier_log et tu vois tes transferts.
    Tu peux utiliser un script pour t'envoyer un mail par exemple.
    (tu peux faire aussi un "grep uploaded /var/log/messages").

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.