2009-09-22 11 views
2

Notre site repose sur les images de l'un de nos fabricants. Les répertoires d'images sont massifs et les obtenir via FTP est un travail de tous les jours. Maintenant que nous avons téléchargé l'intégralité du répertoire, nous aimerions pouvoir télécharger périodiquement des fichiers et des répertoires qui sont nouveaux ou qui ont été modifiés depuis la dernière fois que nous les avons téléchargés. Nous pensons à écrire un script qui vérifie la date de modification des fichiers et ne télécharge que les dernières versions.Comment synchroniser le répertoire local avec le répertoire ftp distant?

Étant donné que ce problème ne peut pas être la première fois que ce problème a été rencontré ou résolu, j'ai décidé de le publier pour voir si quelqu'un connaît les solutions existantes qui peuvent être appliquées ici. Une solution existante devrait être compatible avec FreeBSD et/ou LAMP.

Répondre

2

avec wput

+0

Dans mon cas, c'est wget, mais cela m'a conduit à la solution. wget --mirror ftp: // nom d'utilisateur: [email protected]/path/ -t 100 – user77413

+0

Oh, en effet. Lire trop tard, lire trop vite. Il est également possible d'utiliser curl pour cela, même si ce n'est pas aussi simple qu'avec wget: http://curl.haxx.se/mail/archive-2005-11/0082.html – dmityugov

4

Y a-t-il une raison pour laquelle vous ne pouvez pas utiliser rsync?

+0

+1: J'irais certainement avec rsync, pour ce genre de travail: rapide, incrémental, fiable, et fonctionne via un canal crypté, ce qui est toujours agréable. –

+1

J'ai seulement un accès FTP au serveur, et je ne crois pas que rsync permette la synchronisation sur FTP. La synchronisation sur FTP est-elle possible avec rsync? – user77413

0

Comme user77413 a noté dans un autre commentaire, cela devrait fonctionner ...

wget --mirror username:[email protected]/path 

Le numéro par défaut est de 20 de réitérations, vous pouvez augmenter cela avec --tries 100