Aller au contenu

Sujets conseillés

Posté (modifié)

Bonsoir,

Sur un site que je n'ai pas encore lancé j'ai un dossier dans lequel des dizaines de nouveaux fichiers sont régulièrement créés dans le but de faire un "cache" de certains éléments (~4 nouveaux/jour). Je me pose deux questions par rapport à cela :

1. Y a-t-il une limite concernant le nombre maximum de fichiers dans un répertoire sur un ftp (1&1 en mutualisé si ça a une importance quelconque) ?

2. Y a-t-il un moyen de supprimer tous ces fichiers d'un coup. En effet si je dit à mon soft de ftp Fillezilla de supprimer tout le répertoire, il bug. Je suis obligé de supprimer les fichiers par lot de 250 environ, sinon c'est trop lent... Je n'ai normalement pas à supprimer les fichiers, mais de temps en temps j'aimerais avoir la possibilité de le faire facilement au cas où.

3 (bonus quesion :P ). Si vous avez un système de cache qui nécessite la mise en cache de nombreux éléments, comment gérez-vous la chose ?

Je vous remercie pour tout élément de réponse que vous pourrez m'apporter :) !

Modifié par Yazerty
Posté (modifié)

Salut,

Point par point ^^

1. non, pas à ma connaissance

2. via un FTP, tu peux faire ctrl + a sur ton rep et après appuyer sur la touche supprimer. Sinon, si ca merde toujours, en PHP peut-etre, avec un script cron.

3. perso, je n'utilise le cache que pour certaines petites choses, des blocs. Pas pour toutes les pages entières sinon j'aurais des milliers de fichiers caches pour rien... (ne pas économiser, c'est mal, trop économiser, c'est mal aussi...).

Modifié par zirone
Posté

Sur un dédié, j'ai mis en cache des images, pour un total d'env. 35000 images dans un répertoire. Ca passe sans problèmes.

Pour supprimer les fichiers, tu as plusieurs solutions. La plus simple est de créer un programme qui va ouvrir ton répertoire, et pour chaque fichier qu'il contient, l'effacer.

Une autre solution est de mettre des durées de vie, à tes fichiers. Par exemple, un fichier est généré dans le cache que 1 fois par jour. Mais il garde le même nom. Ainsi, l'index s'appelle 'cache/index.php', par exemple, mais est recréé si la date de 'creation' est supérieure à 24heures. Ainsi, tu as toujours une version 'à jour'.

L'autre exemple (moins... formelle) est d'effacer les fichiers suite à un 'random' > Tu tires au sort le fichier qui sera effacé. Ca permet de régénérer les fichiers, même si tu ne sais pas trop pourquoi le faire :D

J'ai un système où des images sont mises à jour de temps en temps, chez un fournisseur. Je stocke ces images en cache, pour éviter que le fournisseur ne soit trop souvent sollicité. Je ne vais pas, pour autant, garder des images dont il ne se sert plus.

Ma solution est donc que, de temps en temps, un tirage au sort vire qqes images, au hasard. ( Le même système va récupérer les images chez ce fournisseur, si elles ne sont pas dans le système de cache, evidemment :D )

Posté (modifié)

Merci pour vos premières réponses :) !

En fait le script qui génère ces fichiers prend la version en cache et ne la régénère que toutes les 24 heures.

Ce sont aussi de très petits bouts de page qui sont mis en cache, pas des pages entières heureusement :). Mais il y en a pas mal quand même ^^.

Mais de temps en temps, pour des raisons diverses, il génère des pages qui ne seront pas redemandées plus tard (elles sont générées pour une raison valable la première fois mais le cache n'est pas réutilisé ensuite pour certains éléments).

ctrl + a + suprr fait autant bugguer que de supprimer directement le répertoire. Dès que je sélectionne plus de 250 fichiers ça devient lent.

La solution du random ne me plait pas trop : je cherche simplement un moyen de vider le cache par une action simple de temps en temps en fait (histoire de supprimer les fichiers qui ne servent plus à rien en fait; fichiers que je ne peux identifier autrement).

Le cron demande un dédié non :? ?

Sinon, il y a peut-être des softs ftp de meilleure qualité que fillezilla pour effectuer ce genre de taches ? Ou alors il n'y a pas une commande qu'on peut directement envoyer au serveur pour qu'il efface tous les fichiers d'un répertoire ?

Modifié par Yazerty
Posté (modifié)

Certain mutualisé chez 1AND1 ont un accès SSH si tel est le cas tu es sauvé pour effacer d'un coups, tu te log et tu utilises la commande rm -r * attention d'être dans le bon répertoire car sinon c'est une tuerie tout s'envole.

Au niveau du nombre des fichiers il y a une limite chez 1and1 car sur mon mutalisé il y a un décompte donc je pense bien qu'il y a une limite.

A+

Modifié par f_trt
Posté
Certain mutualisé chez 1AND1 ont un accès SSH si tel est le cas tu es sauvé pour effacer d'un coups, tu te log et tu utilises la commande rm -r * attention d'être dans le bon répertoire car sinon c'est une tuerie tout s'envole.

En cas de très grand nombre de fichiers, une commande telle que 'rm -r *' peut ne pas s'exécuter avec comme erreur 'argument list too long' :)

Dans ce cas il faut entrer:

find . -type f -print | xargs rm

ou

find . -type f -print -exec /bin/rm {} \;

Attention au \; en fin de deuxième commande, il est indispensable !

Posté (modifié)

Je viens de trouver bien plus simple (les méthodes énoncées ci-dessus marchent sans doute parfaitement bien, mais me semble complexes en tant que non-pro du ftp et des lignes de commandes).

En fait 1&1 propose un outil de transfert de fichiers grâce à une interface web : "1&1 WebTransfert".

Grâce à 1&1 WebTransfert j'ai accédé au répertoire contenant mon dossier de cache et je l'ai ensuite supprimé en un click. 1&1 WebTransfert a très bien fait son office :) ! Il a simplement suffit de recréé un nouveau répertoire portant le même nom que le précédent répertoire de cache et le tour était joué :) !

En tout cas merci pour toutes vos réponses de qualités :) !

Modifié par Yazerty

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...