Qual é a melhor maneira de comparar duas estruturas de diretório e excluir arquivos e diretórios estranhos no local de destino?
Eu tenho um pequeno aplicativo de galeria de fotos da Web que estou desenvolvendo. Os usuários adicionam e removem imagens usando FTP. O software de galeria da web que escrevi cria novas miniaturas rapidamente, mas não lida com exclusões. O que eu gostaria de fazer é agendar um script de comando / bash para cuidar disso em intervalos predefinidos.
As imagens originais são armazenadas /home/gallery/images/e organizadas em álbuns, usando subdiretórios. As miniaturas são armazenadas em cache /home/gallery/thumbs/, usando a mesma estrutura de diretório e nomes de arquivos que o diretório de imagens.
Eu tentei usar o seguinte para conseguir isso:
rsync -r --delete --ignore-existing /home/gallery/images /home/gallery/thumbs
o que funcionaria bem se todas as miniaturas já tivessem sido armazenadas em cache, mas não há garantia de que esse seria o caso; quando isso acontecer, o diretório thumb terá imagens originais em tamanho original copiadas para ele.
Como posso alcançar da melhor maneira o que estou tentando fazer?
rmdir?