Supprimer les téléchargements locaux après la migration vers S3

J’ai récemment réussi à déplacer des fichiers vers S3 (stockage d’objets Contabo) Configure an S3 compatible object storage provider for uploads - #474 by tumbano

mais les anciens fichiers locaux n’ont pas été supprimés. D’après ce que j’ai lu, cela devrait se faire automatiquement (j’ai défini « Nettoyer les téléchargements orphelins » sur 1 heure et « Période de grâce pour purger les téléchargements supprimés » sur 1 jour), mais ce n’est pas le cas. Il y a aussi ce job « Jobs::CleanUpUploads » dans sidekiq marqué comme ÉCHOUE.
Existe-t-il un moyen de supprimer les fichiers en toute sécurité ou d’exécuter le job depuis la ligne de commande ?

J’ai aussi le même problème. Tous mes téléchargements sont dans mon bucket, mais aussi sur mon serveur dans le répertoire partagé :thinking:

Je viens de créer une nouvelle sauvegarde de site pour tester, et elle a été placée à la fois dans le répertoire partagé et dans le bucket S3.

D’accord, la sauvegarde archive toujours le dossier des téléchargements locaux, même si elle dit le contraire.

Je me souviens qu’il y a eu une erreur à la fin du processus de migration, que certains fichiers n’ont pas été transférés. Je ne me souciais pas si quelques images sur plus de 80000 manquaient, mais qui sait, peut-être que Discourse s’en souciait, alors aujourd’hui j’ai essayé quelque chose que j’ai trouvé sur un autre sujet et

cd /var/discourse
./launcher enter app
VERBOSE=1 rake posts:missing_uploads

Le résultat a été qu’il y avait 2 posts avec une image manquante chacun et cela m’a donné les liens exacts, alors je suis allé éditer les posts. Après avoir relancé la commande, cette fois il n’y avait plus de fichiers manquants.
Avec un peu d’espoir, j’ai ensuite essayé de relancer rake uploads:migrate_to_s3, sans succès. Voici comment cela se termine

Mise à jour des URL dans la base de données...
Suppression des anciennes images optimisées...
Signalement de tous les posts contenant des lightboxes pour un nouveau rebake...
16163 posts ont été signalés pour un rebake
rake avorté !
FileStore::ToS3MigrationError: 4 posts ne sont pas remappés vers la nouvelle URL de téléchargement S3. La migration S3 a échoué pour la base de données 'default'. (FileStore::ToS3MigrationError)
/var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:81:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:383:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:59:in `migrate'
/var/www/discourse/lib/tasks/uploads.rake:126:in `migrate_to_s3'
/var/www/discourse/lib/tasks/uploads.rake:106:in `block in migrate_to_s3_all_sites'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:36:in `each_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:104:in `migrate_to_s3_all_sites'
/var/www/discourse/lib/tasks/uploads.rake:100:in `block in <main>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tâches : TOP => uploads:migrate_to_s3