Así que he estado intentando restaurar una copia de seguridad, pero estoy recibiendo errores. Parece que tiene que ver con las copias de seguridad en S3.
Es importante destacar que esto se está haciendo con un servicio compatible con S3 (Scaleway). Sin embargo, no estoy seguro de si este error es específico del servicio compatible o no; la configuración funcionó de manera muy fluida y ha estado operando correctamente. Si es específico de Scaleway, probablemente dejaré de usar su servicio, ya que entiendo que solo AWS S3 está oficialmente soportado.
Utilicé esta guía para configurarlo: Configure an S3 compatible object storage provider for uploads, por lo que esto está en el archivo app.yml.
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
También utilicé la misma configuración para Scaleway en el archivo app.yml (no la configuré en la sección de administración, ya que parecía innecesaria): configuración de Scaleway
He intentado tanto desde el área de administración como desde la línea de comandos en el servidor actual, así como configurando un nuevo servidor (copié el archivo app.yml) y restaurando mediante la línea de comandos. Obtengo los mismos errores.
[INICIADO]
'system' ha iniciado la restauración.
Marcando la restauración como en ejecución...
Asegurando que exista /var/www/discourse/tmp/restores/default/2020-07-16-131434...
Descargando el archivo comprimido al directorio tmp...
#<Thread:0x000055c73a831df8@/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:116 run> finalizado con excepción (report_on_exception es true):
Traceback (última llamada desde):
1: desde /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 niveles) en thread_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write': método `split' no definido para nil:NilClass (NoMethodError)
EXCEPCIÓN: método `split' no definido para nil:NilClass
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 niveles) en thread_batches'
Intentando revertir...
No fue necesario revertir
Limpiando archivos...
Eliminando el directorio tmp '/var/www/discourse/tmp/restores/default/2020-07-16-131434'...
Reanudando sidekiq...
Marcando la restauración como finalizada...
Notificando a 'system' sobre el final de la restauración...
#<Thread:0x000055c73a831510@/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:116 run> finalizado con excepción (report_on_exception es true):
Traceback (última llamada desde):
1: desde /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 niveles) en thread_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write': método `split' no definido para nil:NilClass (NoMethodError)
#<Thread:0x000055c73a8316c8@/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:116 run> finalizado con excepción (report_on_exception es true):
Traceback (última llamada desde):
1: desde /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 niveles) en thread_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write': método `split' no definido para nil:NilClass (NoMethodError)
#<Thread:0x000055c73a8319e8@/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:116 run> finalizado con excepción (report_on_exception es true):
Traceback (última llamada desde):
1: desde /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 niveles) en thread_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write': método `split' no definido para nil:NilClass (NoMethodError)
¡Finalizado!
[FALLIDO]
Restauración completada.
¿Quizás el error sea solo al descargar la copia de seguridad? ![]()