.. highlight:: rst .. _scxmldump: ######### scxmldump ######### **Dump objects from database or messaging to XML.** Description =========== scxmldump reads SeisComP objects from database or messaging and writes them in SeisComP XML (:term:`SCML`) to stdout or into a file (:option:`-o`). * Dumping from a SeisComP database supports various :ref:`objects `: * Availability, * Config (bindings parameters), * Event parameters, * Inventory, * Journal, * Routing. * Dumping from a SeisComP messaging (:option:`--listen`) considers only event parameters. .. note:: Waveform quality control (QC) parameters can be read from databases using :ref:`scqcquery`. * Furthermore any object carrying a publicID can be retrieved from the database including its hierarchie or not. See :ref:`scxmldump-public-objects`. Event parameters ---------------- To get event, origin or pick information from the database without using SQL commands is an important task for the user. :ref:`scxmldump` queries the database and transforms that information into XML. Events and origins can be treated further by :ref:`scbulletin` for generating bulletins or conversion into other formats including KML. Many processing modules, e.g., :ref:`scevent` support the on-demand processing of dumped event parameters by the command-line option :option:`--ep`. Importing event parameters into another database is possible with :ref:`scdb` and sending to a SeisComP messaging is provided by :ref:`scdispatch`. .. hint:: Events, origins and picks are referred to by their public IDs. IDs of events and origins can be provided by :ref:`scevtls` and :ref:`scorgls`, respectively. Event, origin and pick IDs can also be read from graphical tools like :ref:`scolv` or used database queries assisted by :ref:`scquery`. .. _scxmldump-public-objects: PublicObjects ------------- The option :option:`--public-id` defines a list of publicIDs to be retrieved from the database. As the data model is extendable via plugins and custom code, scxmldump cannot know all of those object types and how to retrieve them from the database. If a publicID belongs to a type for which the code resides in another library or plugin, then scxmldump must load this plugin or library in order to find the correct database tables. For example, if a strong motion object should be dumped, then the plugin dmsm must be loaded into scxmldump. .. code-block:: sh scxmldump -d localhost --plugins dbmysql,dmsm --public-id StrongMotionOrigin/123456 This command would only export the StrongMotionOrigin itself without all child objects. Option :option:`--with-childs` must be passed to export the full hierarchy: .. code-block:: sh scxmldump -d localhost --plugins dbmysql,dmsm --public-id StrongMotionOrigin/123456 --with-childs If the extension code resides in a library then LD_PRELOAD can be used to inject the code into scxmldump: .. code-block:: sh LD_PRELOAD=/home/sysop/seiscomp/lib/libseiscomp_datamodel_sm.so scxmldump -d localhost --public-id StrongMotionOrigin/123456 --with-childs Format conversion ----------------- Conversion of :term:`SCML` into other formats is supported by :ref:`sccnv`. An XSD schema of the XML output can be found under :file:`$SEISCOMP_ROOT/share/xml/`. Examples -------- * Dump inventory .. code-block:: sh scxmldump -d mysql://sysop:sysop@localhost/seiscomp -fI -o inventory.xml * Dump config (bindings parameters) .. code-block:: sh scxmldump -d localhost -fC -o config.xml * Dump full event data including the relevant journal entries .. code-block:: sh scxmldump -d localhost -fPAMFJ -E test2012abcd -o test2012abcd.xml * Dump full event data. Event IDs are provided by :ref:`scevtls` and received from stdin .. code-block:: sh scevtls -d localhost --begin 2025-01-01 |\ scxmldump -d localhost -fPAMF -E - -o events.xml * Dump summary event data .. code-block:: sh scxmldump -d localhost -fap -E test2012abcd -o test2012abcd.xml * Create bulletin from an event using :ref:`scbulletin` .. code-block:: sh scxmldump -d localhost -fPAMF -E test2012abcd | scbulletin * Copy event parameters to another database .. code-block:: sh scxmldump -d localhost -fPAMF -E test2012abcd |\ scdb -i - -d mysql://sysop:sysop@archive-db/seiscomp * Dump the entire journal: .. code-block:: sh scxmldump -d localhost -fJ -o journal.xml * Dump events received from messaging on local computer: .. code-block:: sh scxmldump -H localhost/production --listen .. _scxmldump_configuration: Module Configuration ==================== | :file:`etc/defaults/global.cfg` | :file:`etc/defaults/scxmldump.cfg` | :file:`etc/global.cfg` | :file:`etc/scxmldump.cfg` | :file:`~/.seiscomp/global.cfg` | :file:`~/.seiscomp/scxmldump.cfg` scxmldump inherits :ref:`global options`. Command-Line Options ==================== .. program:: scxmldump :program:`scxmldump [options]` Generic ------- .. option:: -h, --help Show help message. .. option:: -V, --version Show version information. .. option:: --config-file arg Use alternative configuration file. When this option is used the loading of all stages is disabled. Only the given configuration file is parsed and used. To use another name for the configuration create a symbolic link of the application or copy it. Example: scautopick \-> scautopick2. .. option:: --plugins arg Load given plugins. .. option:: -D, --daemon Run as daemon. This means the application will fork itself and doesn't need to be started with \&. .. option:: --auto-shutdown arg Enable\/disable self\-shutdown because a master module shutdown. This only works when messaging is enabled and the master module sends a shutdown message \(enabled with \-\-start\-stop\-msg for the master module\). .. option:: --shutdown-master-module arg Set the name of the master\-module used for auto\-shutdown. This is the application name of the module actually started. If symlinks are used, then it is the name of the symlinked application. .. option:: --shutdown-master-username arg Set the name of the master\-username of the messaging used for auto\-shutdown. If \"shutdown\-master\-module\" is given as well, this parameter is ignored. Verbosity --------- .. option:: --verbosity arg Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug. .. option:: -v, --v Increase verbosity level \(may be repeated, eg. \-vv\). .. option:: -q, --quiet Quiet mode: no logging output. .. option:: --component arg Limit the logging to a certain component. This option can be given more than once. .. option:: -s, --syslog Use syslog logging backend. The output usually goes to \/var\/lib\/messages. .. option:: -l, --lockfile arg Path to lock file. .. option:: --console arg Send log output to stdout. .. option:: --debug Execute in debug mode. Equivalent to \-\-verbosity\=4 \-\-console\=1 . .. option:: --log-file arg Use alternative log file. Messaging --------- .. option:: -u, --user arg Overrides configuration parameter :confval:`connection.username`. .. option:: -H, --host arg Overrides configuration parameter :confval:`connection.server`. .. option:: -t, --timeout arg Overrides configuration parameter :confval:`connection.timeout`. .. option:: -g, --primary-group arg Overrides configuration parameter :confval:`connection.primaryGroup`. .. option:: -S, --subscribe-group arg A group to subscribe to. This option can be given more than once. .. option:: --content-type arg Overrides configuration parameter :confval:`connection.contentType`. .. option:: --start-stop-msg arg Set sending of a start and a stop message. Database -------- .. option:: --db-driver-list List all supported database drivers. .. option:: -d, --database arg The database connection string, format: service:\/\/user:pwd\@host\/database. \"service\" is the name of the database driver which can be queried with \"\-\-db\-driver\-list\". .. option:: --config-module arg The config module to use. .. option:: --inventory-db arg Load the inventory from the given database or file, format: [service:\/\/]location . .. option:: --config-db arg Load the configuration from the given database or file, format: [service:\/\/]location . Dump ---- .. option:: -I, --inventory Dump the inventory. .. option:: --without-station-groups Remove all station groups from inventory. .. option:: --stations sta-list If inventory is dumped, filter the stations to dump. Wildcards are supported. Format of each item: net[.{sta\|\*}]. .. option:: -C, --config Dump the configuration \(bindings\). .. option:: -J, --journal Dump the journal. In combination with \-E only corresponding journal entries are included. .. option:: -R, --routing Dump the routing. .. option:: -Y, --availability Dump data availability information. .. option:: --with-segments Dump individual data segments. Requires \"\-\-availability\". .. option:: --listen Listen to the message server for incoming events. Otherwise scxmldump reads from database. .. option:: -E, --event ID Event public ID\(s\) to dump. Multiple events may be specified as a comma\-separated list. Use \"\-\" for reading the IDs as individual lines from stdin. .. option:: -O, --origin ID Origin public ID\(s\) to dump. Multiple origins may be specified as a comma\-separated list. Use \"\-\" for reading the IDs as individual lines from stdin .. option:: -P, --with-picks Add picks associated to origins. .. option:: -A, --with-amplitudes Add amplitudes associated to magnitudes. .. option:: -M, --with-magnitudes Add station magnitudes associated to origins. .. option:: -F, --with-focal-mechanism Add focal mechanisms associated to events. .. option:: -a, --ignore-arrivals Do not dump arrivals of origins. .. option:: --ignore-magnitudes Do not dump \(network\) magnitudes of origins. This option is most useful in combination with \-O to only dump the location information. .. option:: -p, --preferred-only When dumping events only the preferred origin, the preferred magnitude and the preferred focal mechanism will be dumped. .. option:: -m, --all-magnitudes If only the preferred origin is dumped, all magnitudes for this origin will be dumped. .. option:: --pick ID ID\(s\) of pick\(s\) to dump. Use '\-' to read the IDs as individual lines from stdin. .. option:: --public-id ID ID\(s\) of any object\(s\) to dump. Use '\-' to read the IDs as individual lines from stdin. No parent objects are dumped. .. option:: --with-childs Dump also all child objects of dumped objects. Valid only in combination with \-\-public\-id. .. option:: --with-root Whether to add the container of exported PublicObjects or not. Objects which are not a direct child of EventParameters, Inventory and so on, also referred to as top\-level objects, will not be exported. Valid in combination with \-\-public\-id. Output ------ .. option:: -f, --formatted Use formatted XML output. Otherwise all XML is printed on one line. .. option:: -o, --output Name of output file. If not given, output is sent to stdout. .. option:: --prepend-datasize Prepend a line with the length of the XML data.