$darkmode
Elektra 0.11.0
kdb-import(1) – Import an existing configuration into the key database

SYNOPSIS

kdb import <destination> [<format>]

Where destination is the destination where the user wants the keys to be imported into. format is the format of the keys that are imported.

DESCRIPTION

If the format argument is not passed, then the default format will be used as determined by the value of the sw/kdb/current/format key. By default, that key is set to the storage format. The format attribute relies on Elektra’s plugin system to properly import the configuration. The user can view all plugins available for use by running the kdb-plugin-list(1) command. To learn about any plugin, the user can simply use the kdb-plugin-info(1) command.

This command allows a user to import an existing configuration into the key database. The configuration that the user wants to import is read from stdin. The user should specify the format that the current configuration or keys are in, otherwise the default format will be used. The default format is storage but can be changed by editing the value of the /sw/elektra/kdb/#0/current/format key. The storage plugin can be configured at compile-time or changed by the link libelektra-plugin-storage.so.

CONFLICTS

Conflicts can occur when importing a configuration to a part of the database where keys already exist. Conflicts when importing can be resolved using a strategy with the -s argument.

The strategies implemented by the merge framework are documented in elektra-merge-strategy(7).

OPTIONS

  • -H, --help: Show the man page.
  • -V, --version: Print version info.
  • -p, --profile <profile>: Use a different kdb profile.
  • -C, --color <when>: Print never/auto(default)/always colored output.
  • -s, --strategy <name>: Specify which strategy should be used to resolve conflicts.
  • -v, --verbose: Explain what is happening. Prints additional information in case of errors/warnings.
  • -d, --debug: Give debug information. Prints additional debug information in case of errors/warnings.
  • -c, --plugins-config: Add a configuration to the format plugin.

KDB

  • /sw/elektra/kdb/#0/current/verbose: Same as -v: Explain what is happening (output merged keys).
  • /sw/elektra/kdb/#0/current/format Change default format (if none is given at commandline) and built-in default is not your preferred format.

EXAMPLES

To import a configuration stored in the XML format in a file called example.xml below user:/keyset:
kdb import user:/keyset xmltool < example.xml

To import a configuration stored in the ini format in a file called example.ini below user:/keyset replacing any previous keys stored there:
cat example.ini | kdb import -s cut user:/keyset ini

To import a configuration stored in the ini format in a file called example.ini below user:/keyset keeping any previous keys stored there that aren't present in the newly imported configuration:
cat example.ini | kdb import -s import user:/keyset ini

To restore a backup (stored as sw.ecf) of a user's configuration below system:/sw:
cat sw.ecf | kdb import system:/sw

To import a sample xml content with the xerces plugin:

# import two keys from a xml string
kdb import user:/tests/kdb-import/ xerces <<< "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?><kdb-import><one>one</one><two>two</two></kdb-import>"
# get the values and verify they got imported correctly
kdb get user:/tests/kdb-import/one
#> one
kdb get user:/tests/kdb-import/two
#> two
kdb rm -r user:/tests/kdb-import

To import a sample xml content via specifying the file format directly:

# import two keys from a xml string
kdb import user:/tests/kdb-import/ xml <<< "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?><kdb-import><one>one</one><two>two</two></kdb-import>"
# get the values and verify they got imported correctly
kdb get user:/tests/kdb-import/one
#> one
kdb get user:/tests/kdb-import/two
#> two
kdb rm -r user:/tests/kdb-import

SEE ALSO