O módulo de exclusão de arquivos sofisticado não funcionou para mim. Aqui está uma alternativa mais manual.
Para excluir arquivos de uma pasta que não está na tabela de arquivos gerenciados, você pode:
1) Crie uma lista de todos os arquivos gerenciados:
mysql whateverdb -e "select filename from file_managed" > ~/managed-files.txt
2) Exclua todos os arquivos de um diretório que não está nessa lista. Para fazer isso, usei um pequeno script bash:
#!/bin/bash
IMG_FOLDER='/var/www/html/yoursite/docroot/sites/default/files/certain-images'
EXCLUDES='/home/yourhomeuser/managed-files.txt'
for FILE in $IMG_FOLDER/*; do
if ! grep "$FILE" "$EXCLUDES"; then
echo "Deleting $FILE"
rm -f "$FILE"
fi
done
Apenas altere a IMG_FOLDER
variável para o caminho de qualquer pasta da qual você deseja excluir arquivos (e atualize o caminho para o seu arquivo excluído)