El elegante módulo de eliminación de archivos no funcionó en absoluto para mí. Aquí hay una alternativa más manual.
Para eliminar archivos de una carpeta que no está en la tabla de archivos administrados, puede:
1) Cree una lista de todos los archivos administrados:
mysql whateverdb -e "select filename from file_managed" > ~/managed-files.txt
2) Eliminar todos los archivos de un directorio que no están en esa lista. Para hacer esto, utilicé un pequeño 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
Simplemente cambie la IMG_FOLDER
variable a la ruta de la carpeta de la que desea eliminar archivos (y actualice la ruta a su archivo de exclusión)