gromox-mkprivate
Name
gromox-mkprivate — Tool for creating a blank private store
Synopsis
gromox-mkprivate [-Uv] [-T template_dir] [-c config] [-f] username
Description
mkprivate is used to generate the exchange.sqlite3 file for a private store. mkprivate directly operates on the filesystem, which has implications. First, the program ought to be executed on the correct homeserver in case a multi-server Gromox installation is used. Second, there is no coordination with exmdb_provider(4gx), and exmdb_provider might continue using file descriptors opened earlier, working with the old copy of the mailbox, or get confused because e.g. a WAL file no longer matches the sqlite db. Ideally, you would use something like `gromox-mbop -u ... ( freeze ) ( unload )` to make exmdb_provider close the mailbox before resetting it. Even then, services that build on top of exmdb, such as exchange_emsmdb(4gx) or zcore(8gx), may also get confused when the mailbox (now as an abstract object rather than a concrete file descriptor) or any key characteristics like PR_STORE_RECORD_KEY.
Options
- -T path
- This option can be used to override the built-in data path for folder name translations and prepoulated named properties.Default: /usr/share/gromox
- -U
Rather than creating the SQLite file, upgrade it. (The -f option has no effect.) mkprivate does not coordinate with exmdb_provider(4gx) and data corruption is possible if both try to edit the file at the same time. You should let exmdb_provider(4gx) do upgrades instead, via the "exmdb_schema_upgrades" directive, or at the very least, stop http(8gx)/exmdb_provider when using mkprivate -U.
- -c config
Read configuration directives from the given file. If this option is not specified, /etc/gromox/mysql_adaptor.cfg will be read for MySQL connection parameters if that file exists.
- -f
Force overwrite when an existing SQLite database is detected for the user. By default, mkprivate will not touch exchange.sqlite3.
- -v
Turn on verbose mode for -U.
- --create-old
Create blank initial database using version 0. (This can be used for testing the upgrade procedure.)
- --integrity
Perform SQLite integrity check, either standalone or, if -U is also given, as part of an upgrade.
- -?
Display option summary.
Files
data_file_path/folder_names.txt: Translations for essential folders in a message store.
data_file_path/propnames.txt: Initial set of named properties to add to the new private store.
/var/lib/gromox/.../exmdb/exchange.sqlite3: MAPI object database.
See also
gromox(7), gromox-mkmidb(8), gromox-mkpublic(8), mysql_adaptor(4gx)