# Rake uploads:migrate\_to\_s3 выполняется бесконечно

**URL:** https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245
**Category:** Self-hosting
**Tags:** s3
**Created:** [08.Апрель.2020 10:45:11 UTC](https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245 "2020-04-08T10:45:11Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![pnoeric](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pnoeric/32/177144_2.png) [@pnoeric](https://meta.discourse.org/u/pnoeric)
#### Post date: [08.Апрель.2020 10:45:11 UTC](https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245/1 "2020-04-08T10:45:11Z")

</div>

Когда я запускаю эту команду, получаю:

```plaintext
Migrating uploads to S3 for 'default'...
Uploading files to S3...
 - Listing local files
 => 23 files
 - Listing S3 files
. => 94 files
 - Syncing files to S3
.......................
Updating the URLs in the database...
Removing old optimized images...
Flagging all posts containing lightboxes for rebake...
4 posts were flagged for a rebake
4 posts still require rebaking and will be rebaked during regular job
Done!
Migrating uploads to S3 for 'default'...
Uploading files to S3...
 - Listing local files
 => 23 files
 - Listing S3 files
. => 94 files
 - Syncing files to S3
.......................
Updating the URLs in the database...
Removing old optimized images...
Flagging all posts containing lightboxes for rebake...
4 posts were flagged for a rebake
4 posts still require rebaking and will be rebaked during regular job
Done!
Migrating uploads to S3 for 'default'...
Uploading files to S3...
 - Listing local files
 => 23 files
 - Listing S3 files
. => 94 files
 - Syncing files to S3
.......................
Updating the URLs in the database...
Removing old optimized images...
Flagging all posts containing lightboxes for rebake...
4 posts were flagged for a rebake
4 posts still require rebaking and will be rebaked during regular job
Done!
Migrating uploads to S3 for 'default'...
Uploading files to S3...
 - Listing local files
 => 23 files
 - Listing S3 files
. => 94 files
 - Syncing files to S3
.......................

```

и процесс просто продолжается бесконечно.

В итоге я нажал Ctrl-C и выполнил `rake posts:rebake`, что сработало без проблем.

Затем, просто из интереса, я снова попробовал команду `rake uploads:migrate_to_s3`, и она снова выдала точно такой же результат, как и выше (то же самое сообщение, тот же бесконечный цикл).

Не совсем понимаю, что происходит, и является ли это проблемой, но хотел сообщить. Есть какие-то идеи?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [08.Апрель.2020 18:27:47 UTC](https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245/2 "2020-04-08T18:27:47Z")

</div>

Я могу это подтвердить.

Я создал новый образ с переменными `DISCOURSE_S3_XXX`, настроенными для включения загрузки в S3 при миграции исходной базы данных. Мне казалось, что это автоматически перенесёт все изображения в S3 с самого начала, но, увы, восстановление этой резервной копии не удаётся, когда система пытается выполнить миграцию в S3.

Затем я попытался выполнить команду `rake uploads:migrate_to_s3` (передав все переменные окружения в командной строке перед ней) и столкнулся с бесконечным циклом, описанным в исходном сообщении.

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

Думал, что, возможно, тогда смогу сделать резервную копию и восстановить её, но нет. Восстановление через веб-интерфейс не удаётся. Восстановление через командную строку без передачи всех параметров S3 также не удаётся.

Таким образом, получается, что если вы хотите восстановить резервную копию, содержащую загрузки в S3, вам нужно делать это через командную строку **и** передавать настройки S3 в командной строке вместе с командой восстановления.

Невозможность восстановить резервную копию с загрузками в S3 через пользовательский интерфейс выглядит как ошибка.

---

<div class="post-metadata">

### Author: ![pnoeric](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pnoeric/32/177144_2.png) [@pnoeric](https://meta.discourse.org/u/pnoeric)
#### Post date: [13.Апрель.2020 09:42:30 UTC](https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245/3 "2020-04-13T09:42:30Z")

</div>

Для следующего человека, который попытается выполнить восстановление 😉 вот точный синтаксис для размещения всех опций командной строки в одной строке с командой восстановления, как рекомендует @pfaffman… просто определите все четыре переменные, а затем в самом конце укажите команду восстановления.

```plaintext
DISCOURSE_S3_BUCKET=my-forum-storage DISCOURSE_S3_REGION=us-east-1 DISCOURSE_S3_ACCESS_KEY_ID=asdasdasdasdasdadsasdas DISCOURSE_S3_SECRET_ACCESS_KEY=aasdasdasdasdasdadsasdasasdasdasdasd discourse restore my-forums-2020-04-11-232922-v20200408121834.tar.gz

```

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [19.Апрель.2020 18:27:26 UTC](https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245/4 "2020-04-19T18:27:26Z")

</div>

@pnoeric Бесконечный цикл исправлен в [FIX: Infinite loop in migrate\_to\_s3 rake task · discourse/discourse@baae0e7 · GitHub](https://github.com/discourse/discourse/commit/baae0e7446baba8a1c74460999904ade57879797)

@pfaffman Проблема должна быть исправлена в [FIX: Restore to S3 didn't work without env variables · discourse/discourse@c6b411f · GitHub](https://github.com/discourse/discourse/commit/c6b411f6c18efc41010afcb83f2a712f642d3a23)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [19.Апрель.2020 18:50:03 UTC](https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245/5 "2020-04-19T18:50:03Z")

</div>

О, ура! Большое спасибо. (Иногда одного ❤ недостаточно.)

---

<div class="post-metadata">

### Author: ![pnoeric](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pnoeric/32/177144_2.png) [@pnoeric](https://meta.discourse.org/u/pnoeric)
#### Post date: [20.Апрель.2020 09:33:26 UTC](https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245/6 "2020-04-20T09:33:26Z")

</div>

Да, я тоже это подтверждаю!! Спасибо за такую оперативность. Очень ценю. E

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [27.Май.2024 15:30:06 UTC](https://meta.discourse.org/t/rake-uploads-migrate-to-s3-runs-forever/147245/8 "2024-05-27T15:30:06Z")

</div>


