Ошибка загрузки резервной копии в B2

У меня возникли проблемы с резервным копированием экземпляра Discourse. Экземпляр настроен на загрузку в B2 от Backblaze.

Лог ошибок:

Проверка существования архива...
Создание пустого архива...
Архивирование дампа данных...
Архивирование загрузок...
Пропуск загрузок, хранящихся в S3.
Удаление временной директории '/var/www/discourse/tmp/backups/default/2026-01-16-151337'...
Сжатие архива в gzip, это может занять некоторое время...
Загрузка архива...
ИСКЛЮЧЕНИЕ: не удалось прервать многокомпонентную загрузку: SSL_read: неожиданный конец файла при чтении. Многокомпонентная загрузка не удалась: Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null; Несоответствие типа контрольной суммы. Ожидаемый тип: CRC32, фактический тип: null
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:103:in `rescue in abort_upload'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:90:in `abort_upload'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:86:in `upload_parts'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:59:in `upload'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/file_uploader.rb:42:in `block in upload'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.227.0/lib/aws-sdk-core/plugins/user_agent.rb:90:in `metric'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/file_uploader.rb:40:in `upload'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/customizations/object.rb:477:in `block in upload_file'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.227.0/lib/aws-sdk-core/plugins/user_agent.rb:90:in `metric'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/customizations/object.rb:476:in `upload_file'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:48:in `upload_file'
/var/www/discourse/lib/backup_restore/backuper.rb:351:in `upload_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:41:in `run'
script/discourse:115:in `backup'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor/base.rb:584:in `start'
script/discourse:397:in `<top (required)>'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `load'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `kernel_load'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in `exec'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in `dispatch'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in `dispatch'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in `start'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/exe/bundle:28:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/exe/bundle:20:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Удаление старых резервных копий...
Очистка временных файлов...
Удаление архива из локального хранилища...
Удаление остатков '.tar'...
Пометка резервной копии как завершенной...
Уведомление 'system' об окончании резервного копирования...
Готово!
[FAILED]

Работало ли это раньше?

Да, всё работало до середины декабря.

Предполагая, что после обновления оно перестало работать, знаете ли вы версию, в которой оно ещё работало (помогло бы знание имени файла последней успешной резервной копии), и версию, на которой вы сейчас находитесь?

Я попробую найти старые файлы. Я проводил уборку и удалил их, не проверив :man_facepalming:t2:.

Я знаю, что этот `v20251209012613` уже не работал. Попробую восстановить более старые файлы, чтобы понять, когда всё перестало работать.

Я только что настроил Backblaze на свежей установке, и, судя по всему, у вас более старая версия Discourse — в вашем стеке трассировки версия Ruby 3.3.0, а у меня 3.4.0. Не уверен, имеет ли это значение, так как версии gems aws-sdk-core и aws-sdk-s3, похоже, одинаковы, но я подумал, что стоит об этом упомянуть.

Я только что повторил попытку и получил ту же ошибку.

Настройка:

  AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
  AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
  DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: "us-west-004"
  DISCOURSE_S3_INSTALL_CORS_RULE: false
  DISCOURSE_S3_CONFIGURE_TOMBSTONE_POLICY: false
  DISCOURSE_S3_ENDPOINT: 'https://s3.us-west-004.backblazeb2.com'
  DISCOURSE_S3_ACCESS_KEY_ID: '******'
  DISCOURSE_S3_SECRET_ACCESS_KEY: '******'
  DISCOURSE_S3_CDN_URL: 'https://******3.c******a.com'
  DISCOURSE_S3_BUCKET: c******a
  DISCOURSE_S3_BACKUP_BUCKET: 'c******a/backup'
  DISCOURSE_S3_UPLOAD_BUCKET: 'c******a'
  DISCOURSE_BACKUP_LOCATION: s3

Стек вызовов:

Gzipping archive, this may take a while...
Uploading archive...
EXCEPTION: failed to abort multipart upload: SSL_read: unexpected eof while reading. Multipart upload failed: Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:103:in 'Aws::S3::MultipartFileUploader#abort_upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:86:in 'Aws::S3::MultipartFileUploader#upload_parts'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:59:in 'Aws::S3::MultipartFileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/file_uploader.rb:42:in 'block in Aws::S3::FileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.227.0/lib/aws-sdk-core/plugins/user_agent.rb:90:in 'Aws::Plugins::UserAgent.metric'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/file_uploader.rb:40:in 'Aws::S3::FileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/customizations/object.rb:477:in 'block in Aws::S3::Object#upload_file'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.227.0/lib/aws-sdk-core/plugins/user_agent.rb:90:in 'Aws::Plugins::UserAgent.metric'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/customizations/object.rb:476:in 'Aws::S3::Object#upload_file'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:48:in 'BackupRestore::S3BackupStore#upload_file'
/var/www/discourse/lib/backup_restore/creator.rb:434:in 'BackupRestore::Creator#upload_archive'
/var/www/discourse/lib/backup_restore/creator.rb:41:in 'BackupRestore::Creator#run'
script/discourse:115:in 'DiscourseCLI#backup'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/command.rb:28:in 'Thor::Command#run'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor.rb:538:in 'Thor.dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/base.rb:584:in 'Thor::Base::ClassMethods#start'
script/discourse:397:in '<top (required)>'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in 'Kernel.load'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in 'Bundler::CLI::Exec#kernel_load'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in 'Bundler::CLI::Exec#run'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in 'Bundler::CLI#exec'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in 'Bundler::Thor::Command#run'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in 'Bundler::Thor::Invocation#invoke_command'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in 'Bundler::Thor.dispatch'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in 'Bundler::CLI.dispatch'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in 'Bundler::Thor::Base::ClassMethods#start'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in 'Bundler::CLI.start'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/exe/bundle:28:in 'block in <top (required)>'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in 'Bundler.with_friendly_errors'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/exe/bundle:20:in '<top (required)>'
/usr/local/bin/bundle:25:in 'Kernel#load'
/usr/local/bin/bundle:25:in '<main>'
Deleting old backups...
Cleaning stuff up...
Removing archive from local storage...
Removing '.tar' leftovers...
Marking backup as finished...
Notifying 'system' of the end of the backup...
Finished!
[FAILED]

Я только что повторил попытку и получил ту же ошибку.

Настройка:

  AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
  AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
  DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: "us-west-004"
  DISCOURSE_S3_INSTALL_CORS_RULE: false
  DISCOURSE_S3_CONFIGURE_TOMBSTONE_POLICY: false
  DISCOURSE_S3_ENDPOINT: 'https://s3.us-west-004.backblazeb2.com'
  DISCOURSE_S3_ACCESS_KEY_ID: '******'
  DISCOURSE_S3_SECRET_ACCESS_KEY: '******'
  DISCOURSE_S3_CDN_URL: 'https://******3.c******a.com'
  DISCOURSE_S3_BUCKET: c******a
  DISCOURSE_S3_BACKUP_BUCKET: 'c******a/backup'
  DISCOURSE_S3_UPLOAD_BUCKET: 'c******a'
  DISCOURSE_BACKUP_LOCATION: s3

Стек вызовов:

Gzipping archive, this may take a while...
Uploading archive...
EXCEPTION: failed to abort multipart upload: SSL_read: unexpected eof while reading. Multipart upload failed: Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:103:in 'Aws::S3::MultipartFileUploader#abort_upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:86:in 'Aws::S3::MultipartFileUploader#upload_parts'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:59:in 'Aws::S3::MultipartFileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/file_uploader.rb:42:in 'block in Aws::S3::FileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.227.0/lib/aws-sdk-core/plugins/user_agent.rb:90:in 'Aws::Plugins::UserAgent.metric'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/file_uploader.rb:40:in 'Aws::S3::FileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/customizations/object.rb:477:in 'block in Aws::S3::Object#upload_file'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.227.0/lib/aws-sdk-core/plugins/user_agent.rb:90:in 'Aws::Plugins::UserAgent.metric'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/customizations/object.rb:476:in 'Aws::S3::Object#upload_file'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:48:in 'BackupRestore::S3BackupStore#upload_file'
/var/www/discourse/lib/backup_restore/creator.rb:434:in 'BackupRestore::Creator#upload_archive'
/var/www/discourse/lib/backup_restore/creator.rb:41:in 'BackupRestore::Creator#run'
script/discourse:115:in 'DiscourseCLI#backup'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/command.rb:28:in 'Thor::Command#run'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor.rb:538:in 'Thor.dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/base.rb:584:in 'Thor::Base::ClassMethods#start'
script/discourse:397:in '<top (required)>'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in 'Kernel.load'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in 'Bundler::CLI::Exec#kernel_load'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in 'Bundler::CLI::Exec#run'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in 'Bundler::CLI#exec'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in 'Bundler::Thor::Command#run'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in 'Bundler::Thor::Invocation#invoke_command'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in 'Bundler::Thor.dispatch'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in 'Bundler::CLI.dispatch'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in 'Bundler::Thor::Base::ClassMethods#start'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in 'Bundler::CLI.start'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/exe/bundle:28:in 'block in <top (required)>'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in 'Bundler.with_friendly_errors'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/exe/bundle:20:in '<top (required)>'
/usr/local/bin/bundle:25:in 'Kernel#load'
/usr/local/bin/bundle:25:in '<main>'
Deleting old backups...
Cleaning stuff up...
Removing archive from local storage...
Removing '.tar' leftovers...
Marking backup as finished...
Notifying 'system' of the end of the backup...
Finished!
[FAILED]

Я только что повторил попытку и получил ту же ошибку.

Настройка:

  AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
  AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
  DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: "us-west-004"
  DISCOURSE_S3_INSTALL_CORS_RULE: false
  DISCOURSE_S3_CONFIGURE_TOMBSTONE_POLICY: false
  DISCOURSE_S3_ENDPOINT: 'https://s3.us-west-004.backblazeb2.com'
  DISCOURSE_S3_ACCESS_KEY_ID: '******'
  DISCOURSE_S3_SECRET_ACCESS_KEY: '******'
  DISCOURSE_S3_CDN_URL: 'https://******3.c******a.com'
  DISCOURSE_S3_BUCKET: c******a
  DISCOURSE_S3_BACKUP_BUCKET: 'c******a/backup'
  DISCOURSE_S3_UPLOAD_BUCKET: 'c******a'
  DISCOURSE_BACKUP_LOCATION: s3

Стек вызовов:

Gzipping archive, this may take a while...
Uploading archive...
EXCEPTION: failed to abort multipart upload: SSL_read: unexpected eof while reading. Multipart upload failed: Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null; Checksum Type mismatch occurred, expected checksum type: CRC32, actual checksum type: null
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:103:in 'Aws::S3::MultipartFileUploader#abort_upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:86:in 'Aws::S3::MultipartFileUploader#upload_parts'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:59:in 'Aws::S3::MultipartFileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/file_uploader.rb:42:in 'block in Aws::S3::FileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.227.0/lib/aws-sdk-core/plugins/user_agent.rb:90:in 'Aws::Plugins::UserAgent.metric'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/file_uploader.rb:40:in 'Aws::S3::FileUploader#upload'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/customizations/object.rb:477:in 'block in Aws::S3::Object#upload_file'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.227.0/lib/aws-sdk-core/plugins/user_agent.rb:90:in 'Aws::Plugins::UserAgent.metric'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/customizations/object.rb:476:in 'Aws::S3::Object#upload_file'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:48:in 'BackupRestore::S3BackupStore#upload_file'
/var/www/discourse/lib/backup_restore/creator.rb:434:in 'BackupRestore::Creator#upload_archive'
/var/www/discourse/lib/backup_restore/creator.rb:41:in 'BackupRestore::Creator#run'
script/discourse:115:in 'DiscourseCLI#backup'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/command.rb:28:in 'Thor::Command#run'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor.rb:538:in 'Thor.dispatch'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/thor-1.4.0/lib/thor/base.rb:584:in 'Thor::Base::ClassMethods#start'
script/discourse:397:in '<top (required)>'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in 'Kernel.load'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in 'Bundler::CLI::Exec#kernel_load'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in 'Bundler::CLI::Exec#run'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in 'Bundler::CLI#exec'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in 'Bundler::Thor::Command#run'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in 'Bundler::Thor::Invocation#invoke_command'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in 'Bundler::Thor.dispatch'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in 'Bundler::CLI.dispatch'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in 'Bundler::Thor::Base::ClassMethods#start'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in 'Bundler::CLI.start'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/exe/bundle:28:in 'block in <top (required)>'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in 'Bundler.with_friendly_errors'
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/exe/bundle:20:in '<top (required)>'
/usr/local/bin/bundle:25:in 'Kernel#load'
/usr/local/bin/bundle:25:in '<main>'
Deleting old backups...
Cleaning stuff up...
Removing archive from local storage...
Removing '.tar' leftovers...
Marking backup as finished...
Notifying 'system' of the end of the backup...
Finished!
[FAILED]

Да, в моей конфигурации отсутствуют настройки AWS_*_CHECKSUM_CALCULATION, именно в них, похоже, возникает ошибка в вашем окружении. Есть тема на эту тему о том, что B2 не поддерживает эту функцию; похоже, они недавно её внедрили, но я не уверен, работает ли она на самом деле.

Отлично, это сработало.

Завершено!
[УСПЕХ]
Резервное копирование выполнено.
Файл вывода сохранен в S3