Software /
code /
prosody-modules
Annotate
mod_migrate/README.markdown @ 4203:c4002aae4ad3
mod_s2s_keepalive: Use timestamp as iq @id
RFC 6120 implies that the id attribute must be unique within a stream.
This should fix problems with remote servers that enforce uniqueness and
don't answer duplicated ids.
If it doesn't do that, then at least you can get a guesstimate at
round-trip time from the difference between the result iq stanza and the
timestamp it was logged without having to go look for when it was sent,
or needing to keep state.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 14 Oct 2020 18:02:10 +0200 |
parent | 2970:c5122b7633a8 |
rev | line source |
---|---|
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
1 --- |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
2 summary: prosodyctl cross storage driver migration tool |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
3 ... |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
1814
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
5 Introduction |
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
6 ============ |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
8 This module adds a command to `prosodyctl` for copying data between |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
9 storage drivers. |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
10 |
1814
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
11 Usage |
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
12 ===== |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
13 |
1814
7b4e841dcd77
mod_migrate/README: Change headings and adjust usage string
Kim Alvefur <zash@zash.se>
parents:
1813
diff
changeset
|
14 prosodyctl mod_migrate example.com <source-store>[-<store-type>] <target-driver> [users]* |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
16 `<source-store>` would be e.g. `accounts` or `private`. To migrate |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
17 archives, the optional suffix `<store-type>` would be set to `archive`, |
2481
854aaa1f01b2
mod_migrate/README: Document the ability to specify multiple comma separated stores to migrate
Kim Alvefur <zash@zash.se>
parents:
1976
diff
changeset
|
18 so e.g. `archive2-archive` or `muc_log-archive`. Multiple stores can be |
854aaa1f01b2
mod_migrate/README: Document the ability to specify multiple comma separated stores to migrate
Kim Alvefur <zash@zash.se>
parents:
1976
diff
changeset
|
19 given if separated by commas. |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
21 `<target-driver>` is the storage driver to copy data to, sans the |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
22 `mod_storage_` prefix. |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 |
2970
c5122b7633a8
mod_migrate: Mention the possible need to supply the list of users
Kim Alvefur <zash@zash.se>
parents:
2824
diff
changeset
|
24 `mod_migrate` tries to request a list of users from `usermanager`, but |
c5122b7633a8
mod_migrate: Mention the possible need to supply the list of users
Kim Alvefur <zash@zash.se>
parents:
2824
diff
changeset
|
25 this does not always work. If so, you can supply usernames as arguments |
c5122b7633a8
mod_migrate: Mention the possible need to supply the list of users
Kim Alvefur <zash@zash.se>
parents:
2824
diff
changeset
|
26 after the target driver. |
c5122b7633a8
mod_migrate: Mention the possible need to supply the list of users
Kim Alvefur <zash@zash.se>
parents:
2824
diff
changeset
|
27 |
1791
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 The process is something like this: |
8df071457dee
mod_migrate: Provides a prosodyctl mod_migrate command for copying data between storage backends
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
30 1. Decide on the future configuration and add for example SQL |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
31 connection details to your prosody config, but don't change the |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
32 `store` option yet. |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
33 2. With Prosody shut down, run |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
34 `prosodyctl mod_migrate example.com accounts sql` |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
35 3. Repeat for each store, substituting 'accounts'. E.g. vcards, |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
36 private... |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
37 4. Change the [`storage` configuration](https://prosody.im/doc/storage) |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
38 to use the new driver. |
1803
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1791
diff
changeset
|
39 5. Start prosody again. |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
40 |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
41 Examples |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
42 ======== |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
43 |
2481
854aaa1f01b2
mod_migrate/README: Document the ability to specify multiple comma separated stores to migrate
Kim Alvefur <zash@zash.se>
parents:
1976
diff
changeset
|
44 ``` sh |
2824
e4b04c0c4b15
mod_migrate: Fix missing mod_ prefix in invocation example (thanks asterix)
Kim Alvefur <zash@zash.se>
parents:
2481
diff
changeset
|
45 prosodyctl mod_migrate example.com accounts,roster,private,vcard sql |
2481
854aaa1f01b2
mod_migrate/README: Document the ability to specify multiple comma separated stores to migrate
Kim Alvefur <zash@zash.se>
parents:
1976
diff
changeset
|
46 ``` |
1813
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
47 |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
48 Compatibility |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
49 ============= |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
50 |
f02f52a2ee11
mod_migrate: Add support for migrating archives
Kim Alvefur <zash@zash.se>
parents:
1812
diff
changeset
|
51 Should work with 0.8 and later. |