Quelle est la meilleure façon de comparer deux structures de répertoires et de supprimer les fichiers et répertoires superflus à l'emplacement cible?
J'ai une petite application de galerie de photos Web que je développe. Les utilisateurs ajoutent et suppriment des images via FTP. Le logiciel de galerie Web que j'ai écrit crée de nouvelles vignettes à la volée, mais il ne traite pas des suppressions. Ce que je voudrais faire, c'est planifier un script de commande / bash pour s'en occuper à des intervalles prédéfinis.
Les images originales sont stockées /home/gallery/images/
et organisées en albums, à l'aide de sous-répertoires. Les miniatures sont mises en cache /home/gallery/thumbs/
, en utilisant la même structure de répertoires et les mêmes noms de fichiers que le répertoire images.
J'ai essayé d'utiliser les éléments suivants pour y parvenir:
rsync -r --delete --ignore-existing /home/gallery/images /home/gallery/thumbs
ce qui fonctionnerait bien si toutes les vignettes ont déjà été mises en cache, mais il n'y a aucune garantie que ce serait le cas, lorsque cela se produit, le répertoire du pouce contient des images originales en taille réelle.
Comment puis-je réaliser au mieux ce que j'essaie de faire?
rmdir
?