2014-01-28 17:12:37 +01:00
|
|
|
============
|
|
|
|
notmuch-dump
|
|
|
|
============
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
========
|
|
|
|
|
2015-01-27 20:48:14 +01:00
|
|
|
**notmuch** **dump** [--gzip] [--format=(batch-tag|sup)] [--output=<*file*>] [--] [<*search-term*> ...]
|
2014-01-28 17:12:37 +01:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
===========
|
|
|
|
|
|
|
|
Dump tags for messages matching the given search terms.
|
|
|
|
|
|
|
|
Output is to the given filename, if any, or to stdout.
|
|
|
|
|
|
|
|
These tags are the only data in the notmuch database that can't be
|
|
|
|
recreated from the messages themselves. The output of notmuch dump is
|
|
|
|
therefore the only critical thing to backup (and much more friendly to
|
|
|
|
incremental backup than the native database files.)
|
|
|
|
|
2015-01-27 20:48:14 +01:00
|
|
|
See **notmuch-search-terms(7)** for details of the supported syntax
|
|
|
|
for <search-terms>. With no search terms, a dump of all messages in
|
|
|
|
the database will be generated. A "--" argument instructs notmuch that
|
|
|
|
the remaining arguments are search terms.
|
|
|
|
|
|
|
|
Supported options for **dump** include
|
|
|
|
|
2017-12-30 18:16:11 +01:00
|
|
|
``--gzip``
|
|
|
|
Compress the output in a format compatible with **gzip(1)**.
|
|
|
|
|
|
|
|
``--format=(sup|batch-tag)``
|
|
|
|
Notmuch restore supports two plain text dump formats, both with
|
|
|
|
one message-id per line, followed by a list of tags.
|
|
|
|
|
|
|
|
**batch-tag**
|
|
|
|
The default **batch-tag** dump format is intended to more
|
|
|
|
robust against malformed message-ids and tags containing
|
|
|
|
whitespace or non-\ **ascii(7)** characters. Each line has the
|
|
|
|
form::
|
|
|
|
|
|
|
|
+<*encoded-tag*\ > +<*encoded-tag*\ > ... -- id:<*quoted-message-id*\ >
|
|
|
|
|
|
|
|
Tags are hex-encoded by replacing every byte not matching the
|
|
|
|
regex **[A-Za-z0-9@=.,\_+-]** with **%nn** where nn is the two
|
|
|
|
digit hex encoding. The message ID is a valid Xapian query,
|
|
|
|
quoted using Xapian boolean term quoting rules: if the ID
|
|
|
|
contains whitespace or a close paren or starts with a double
|
|
|
|
quote, it must be enclosed in double quotes and double quotes
|
|
|
|
inside the ID must be doubled. The astute reader will notice
|
|
|
|
this is a special case of the batch input format for
|
|
|
|
**notmuch-tag(1)**; note that the single message-id query is
|
|
|
|
mandatory for **notmuch-restore(1)**.
|
|
|
|
|
|
|
|
**sup**
|
|
|
|
The **sup** dump file format is specifically chosen to be
|
|
|
|
compatible with the format of files produced by sup-dump. So
|
|
|
|
if you've previously been using sup for mail, then the
|
|
|
|
**notmuch restore** command provides you a way to import all
|
|
|
|
of your tags (or labels as sup calls them). Each line has the
|
|
|
|
following form::
|
|
|
|
|
|
|
|
<*message-id*\ > **(** <*tag*\ > ... **)**
|
|
|
|
|
|
|
|
with zero or more tags are separated by spaces. Note that
|
|
|
|
(malformed) message-ids may contain arbitrary non-null
|
|
|
|
characters. Note also that tags with spaces will not be
|
|
|
|
correctly restored with this format.
|
|
|
|
|
|
|
|
``--include=(config|properties|tags)``
|
2016-03-22 11:54:50 +01:00
|
|
|
Control what kind of metadata is included in the output.
|
|
|
|
|
2017-12-30 18:16:11 +01:00
|
|
|
**config**
|
2016-11-26 23:25:57 +01:00
|
|
|
Output configuration data stored in the database. Each line
|
|
|
|
starts with "#@ ", followed by a space separated key-value
|
|
|
|
pair. Both key and value are hex encoded if needed.
|
2016-03-22 11:54:50 +01:00
|
|
|
|
2017-12-30 18:16:11 +01:00
|
|
|
**properties**
|
2016-11-26 23:25:57 +01:00
|
|
|
Output per-message (key,value) metadata. Each line starts
|
|
|
|
with "#= ", followed by a message id, and a space separated
|
2017-10-21 04:25:39 +02:00
|
|
|
list of key=value pairs. Ids, keys and values are hex encoded
|
|
|
|
if needed. See **notmuch-properties(7)** for more details.
|
2016-06-13 03:05:54 +02:00
|
|
|
|
2017-12-30 18:16:11 +01:00
|
|
|
**tags**
|
2016-11-26 23:25:57 +01:00
|
|
|
Output per-message boolean metadata, namely tags. See *format* above
|
|
|
|
for description of the output.
|
2016-03-22 11:54:50 +01:00
|
|
|
|
2017-12-30 18:16:11 +01:00
|
|
|
The default is to include all available types of data. The option
|
|
|
|
can be specified multiple times to select some subset. As of
|
|
|
|
version 3 of the dump format, there is a header line of the
|
|
|
|
following form::
|
2016-06-06 00:23:58 +02:00
|
|
|
|
2017-12-30 18:16:11 +01:00
|
|
|
#notmuch-dump <*format*>:<*version*> <*included*>
|
2016-06-06 00:23:58 +02:00
|
|
|
|
2017-12-30 18:16:11 +01:00
|
|
|
where <*included*> is a comma separated list of the above options.
|
2016-03-22 11:54:50 +01:00
|
|
|
|
2017-12-30 18:16:11 +01:00
|
|
|
``--output=``\ <filename>
|
|
|
|
Write output to given file instead of stdout.
|
2014-01-28 17:12:37 +01:00
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
========
|
|
|
|
|
2017-10-17 18:57:21 +02:00
|
|
|
**notmuch(1)**,
|
|
|
|
**notmuch-config(1)**,
|
|
|
|
**notmuch-count(1)**,
|
|
|
|
**notmuch-hooks(5)**,
|
|
|
|
**notmuch-insert(1)**,
|
|
|
|
**notmuch-new(1)**,
|
2017-10-21 04:25:39 +02:00
|
|
|
**notmuch-properties(7)**,
|
2017-10-17 18:57:21 +02:00
|
|
|
**notmuch-reply(1)**,
|
|
|
|
**notmuch-restore(1)**,
|
|
|
|
**notmuch-search(1)**,
|
|
|
|
**notmuch-search-terms(7)**,
|
|
|
|
**notmuch-show(1)**,
|
|
|
|
**notmuch-tag(1)**
|