• Submitted by fm56 on
  • Last updated by fm56 on Wed, 08/05/2026 - 12:49

Remove managed files with 0 uses:

  1. Find all of them with...

    select file_managed.uri from file_managed left join file_usage on file_managed.fid = file_usage.fid where file_usage.fid is null;
  2. Export a csv. 
  3. Use regex to escape spaces...

    s/ /\\ /
  4. Use regex to mv files to a backup directory (e.g. "orphans")...

    s/".*:\/\/\(.*\)"/mv web\/sites\/default\/files\/\1 ..\/orphans
  5. Delete them from the file_managed table with...

    DELETE file_managed from file_managed left join file_usage on file_managed.fid = file_usage.fid where file_usage.fid is null;