# 恢复后 sidekiq jobs 如何被重新创建？

**URL:** https://meta.discourse.org/t/how-do-sidekiq-jobs-get-re-created-after-a-restore/161070
**Category:** Self-hosting
**Created:** [2020年八月16日 22:19 UTC](https://meta.discourse.org/t/how-do-sidekiq-jobs-get-re-created-after-a-restore/161070 "2020-08-16T22:19:01Z")
**Posts on this page:** 3
**Page:** 1

<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: [2020年八月16日 22:19 UTC](https://meta.discourse.org/t/how-do-sidekiq-jobs-get-re-created-after-a-restore/161070/1 "2020-08-16T22:19:01Z")

</div>

我想将某个站点的 PostgreSQL 和 Redis 服务器迁移到另一台机器。迁移 PostgreSQL 相对简单。但 Sidekiq 中还有数百个排队任务（至少包括 `ToggleTopicClosed` 和 `UnpinTopic`）。似乎没有直接的方法迁移单个 Redis 数据库（你可以复制整个 Redis 实例，但这不适合只迁移单个编号数据库）。如果我执行完整的备份和恢复，这些任务会被重新创建吗？如果会，迁移完成后，有没有简单的手动方式触发它们？

或者，我是否应该决定不再关心这些排队的任务？（这似乎不太妥当 🤔）

---

<div class="post-metadata">

### Author: ![DBHacker](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dbhacker/32/173072_2.png) [@DBHacker](https://meta.discourse.org/u/DBHacker)
#### Post date: [2020年八月17日 09:43 UTC](https://meta.discourse.org/t/how-do-sidekiq-jobs-get-re-created-after-a-restore/161070/2 "2020-08-17T09:43:52Z")

</div>

您可以通过在命令行执行 [`BGSAVE`](http://redis.io/commands/bgsave) 或 [`SAVE`](http://redis.io/commands/save) 命令，将 Redis 数据库的快照保存到 `dump.rdb` 文件中。

该 Redix 命令将在与 Redis 相同的文件夹中创建一个名为 `dump.rdb` 的新文件。

然后，您可以将 `dump.rdb` 复制到另一台运行 Redis 的服务器上。

当 Redis 在新服务器上启动时，它会查找 `dump.rdb` 以初始化 Redis。

不确定恢复 Redis 后 `sidekiq` 将如何更新，但值得一试。

---

<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: [2020年八月17日 15:05 UTC](https://meta.discourse.org/t/how-do-sidekiq-jobs-get-re-created-after-a-restore/161070/3 "2020-08-17T15:05:21Z")

</div>

好的，但据我理解，这样做会备份服务器上的所有数据库，而不仅仅是其中一个。其他网站已经迁移到了另一台服务器，因此备份/还原所有数据库的方案不可行。
