1 <h1>NOTMUCH-DUMP(1)</h1>
5 notmuch-dump - creates a plain-text dump of the tags of each message
10 <b>notmuch</b> <b>dump</b> [--gzip] [--format=(batch-tag|sup)] [--output=<<u>file</u>>] [--]
11 [<<u>search-term</u>> ...]
16 Dump tags for messages matching the given search terms.
18 Output is to the given filename, if any, or to stdout.
20 These tags are the only data in the notmuch database that can't be
21 recreated from the messages themselves. The output of notmuch dump is
22 therefore the only critical thing to backup (and much more friendly to
23 incremental backup than the native database files.)
25 See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for details of the supported syntax for
26 <search-terms>. With no search terms, a dump of all messages in the
27 database will be generated. A <b>--</b> argument instructs notmuch that the
28 remaining arguments are search terms.
30 Supported options for <b>dump</b> include
32 <b>--gzip</b> Compress the output in a format compatible with <b>gzip</b>(1).
34 <b>--format=(sup|batch-tag)</b>
35 Notmuch restore supports two plain text dump formats, both with
36 one message-id per line, followed by a list of tags.
39 The default <b>batch-tag</b> dump format is intended to more ro‐
40 bust against malformed message-ids and tags containing
41 whitespace or non-<b>ascii</b>(7) characters. Each line has the
44 +<*encoded-tag*\ > +<*encoded-tag*\ > ... -- id:<*quoted-message-id*\ >
46 Tags are hex-encoded by replacing every byte not matching
47 the regex <b>[A-Za-z0-9@=.,</b>_<b>+-]</b> with <b>%nn</b> where nn is the two
48 digit hex encoding. The message ID is a valid Xapian
49 query, quoted using Xapian boolean term quoting rules: if
50 the ID contains whitespace or a close paren or starts
51 with a double quote, it must be enclosed in double quotes
52 and double quotes inside the ID must be doubled. The as‐
53 tute reader will notice this is a special case of the
54 batch input format for <a href='../notmuch-tag-1/'>notmuch-tag</a>(1); note that the sin‐
55 gle message-id query is mandatory for <a href='../notmuch-restore-1/'>notmuch-restore</a>(1).
57 <b>sup</b> The <b>sup</b> dump file format is specifically chosen to be
58 compatible with the format of files produced by
59 <b>sup-dump</b>(1). So if you've previously been using sup for
60 mail, then the <a href='../notmuch-restore-1/'>notmuch-restore</a>(1) command provides you a
61 way to import all of your tags (or labels as sup calls
62 them). Each line has the following form:
64 <*message-id*\ > **(** <*tag*\ > ... **)**
66 with zero or more tags are separated by spaces. Note that
67 (malformed) message-ids may contain arbitrary non-null
68 characters. Note also that tags with spaces will not be
69 correctly restored with this format.
71 <b>--include=(config|properties|tags)</b>
72 Control what kind of metadata is included in the output.
74 <b>config</b> Output configuration data stored in the database. Each
75 line starts with "#@ ", followed by a space separated
76 key-value pair. Both key and value are hex encoded if
80 Output per-message (key,value) metadata. Each line
81 starts with "#= ", followed by a message id, and a space
82 separated list of key=value pairs. Ids, keys and values
83 are hex encoded if needed. See <a href='../notmuch-properties-7/'>notmuch-properties</a>(7) for
86 <b>tags</b> Output per-message boolean metadata, namely tags. See
87 <u>format</u> above for description of the output.
89 The default is to include all available types of data. The op‐
90 tion can be specified multiple times to select some subset. As
91 of version 3 of the dump format, there is a header line of the
94 #notmuch-dump <*format*>:<*version*> <*included*>
96 where <<u>included</u>> is a comma separated list of the above options.
98 <b>--output=<filename></b>
99 Write output to given file instead of stdout.
104 <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not‐</a>
105 <a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-properties-7/'>notmuch-properties</a>(7), <a href='../notmuch-reply-1/'>notmuch-re‐</a>
106 <a href='../notmuch-reply-1/'>ply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7),
107 <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
112 Carl Worth and many others
117 2009-2022, Carl Worth and many others