Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Préserver l'horodatage des fichiers envoyés en FTP

07/04/2021

Lors de l'envoi en FTP de fichiers sur un serveur, il est intéressant de conserver l'horodatage local de chaque fichier sur le serveur (la date/heure de dernière modification) afin de comparer plus rapidement les contenus des répertoires. En particulier quand il s'agit des fichiers participant à la génération du site (PHP, CSS, Javascript, HTML...).

Si vous utilisez Filezilla, il faut activer une option dans le menu Transfert : "Conserver l'horodatage des fichiers transférés" (ou Control+U). Cela active l'utilisation par Filezilla de la commande MFMT (Modify Fact: Last Modified Time), qui modifie la date-heure d'un fichier en FTP, une fois celui-ci envoyé.

Dans l'éventualité où le fichier sur le site FTP ne se verrait pas appliquer la date du fichier local mais celle d'envoi, voici quelques conseils permettant d'analyser le problème. La correction dépend du client et du serveur FTP utilisés. Le cas présenté ici portera sur Filezilla et ProFTPd.

Horodatage non appliqué : recherche sur le client FTP (Filezilla)

Activer les logs

En activant les logs sur Filezilla (ils ne sont pas activés par défaut), vous pourrez voir les commandes envoyées en FTP.

  • Allez dans le menu Édition.
  • Choisissez l'élément Paramètres.
  • Dans les paramètres, cliquez dans le menu de gauche sur Journalisation (avant-dernier menu).
  • Cochez Afficher l'horodatage dans le journal des événements.
  • Cochez Sauvegarder le journal des événements dans un fichier.
  • Saisissez un nom de fichier log.
  • Sauvez et redémarrez Filezilla.

Trouver de l'information dans les logs

  • Lancez Filezilla et connectez-vous en FTP sur votre site Internet
  • Envoyez un fichier vers votre site.
  • Ouvrez le fichier de log que vous avez paramétré à l'étape précédente.
  • Vous pouvez voir qu'au début de la connexion FTP, Filezilla interroge le serveur au moyen de la commande FEAT, pour connaître ses fonctionnalités.

  • Si vous trouvez 211-MFMT, comme sur la capture ci-dessus, cela signifie que la commande n'est pas disponible. Il faut vous rendre sur votre serveur, en ligne de commande et poursuivre l'analyse.
  • Si vous trouvez simplement MFMT, la commande est disponible. Cherchez là un peu plus loin dans le fichier de logs, vous devriez la trouver juste après l'envoi de votre fichier : MFMT <date> <nom_du_fichier>

Horodatage non appliqué : recherche sur le serveur FTP (ProFTPd)

Sur ProFTPd, la directive MultilineRFC2228, présente dans le paramétrage du logiciel, peut être à l'origine du problème d'horodatage. Elle impacte en effet la commande FEAT, décrite précédemment.

Lors de la connexion à votre site sur Filezilla, elle peut être à l'origine du message suivant : "Le serveur ne supporte pas les caractères non-ASCII."

Voici comment la désactiver :

  • Connectez-vous sur votre serveur en SSH.
  • Éditez la configuration de votre serveur FTP. Pour ProFTPd, il faut faire :
    nano /etc/proftpd/proftpd.conf
  • Recherchez la ligne contenant la valeur de MultilineRFC2228 et passez sa valeur à off.
  • Redémarrez le serveur FTP :
    /etc/init.d/proftpd restart
  • Fermez Filezilla et refaites un essai d'envoi de fichier.
Dernière modification le 07/04/2021 - Quillevere.net

Rechercher sur le site

fr en rss RSS info Informations