sync_arc

ArcLink remote merging tool (one-way synchronization)

Description

sync_arc is a tool that merges inventory from different arclink sources into your SeisComP3 database by following a list of nodes (master table) provided by the webdc.eu portal (or another source as configured on the configuration file). This tool is today used inside the EIDA (European Integrated Data Archives) network to keep its nodes synchronized (the inventory and routing parts).

Warning

Running seiscomp update-config (or using the GUI scconfig) to update the system configuration will erase from your database the last one-way synchronized inventory and routing. It will be necessary to run the sync_arc again to restore the missing entries of the inventory and routing after each update.

Configuration

etc/defaults/global.cfg
etc/defaults/sync_arc.cfg
etc/global.cfg
etc/sync_arc.cfg
~/.seiscomp3/global.cfg
~/.seiscomp3/sync_arc.cfg

sync_arc inherits global options.

poolFolder

Type: string

Indicates a folder to store/retrieve the RAW inventory files when the options –keep-raw/–load-raw are in use Default is ./.

poolKeep

Type: int

Indicate the number of Inventory and Routing files that the pool folder should contain. If set to 0 the pool folder is never cleaned, if this variable contains a number larger than zero the sync_arc program will make sure that the pool folder contains only “poolKeep” set of files (inventory/routing) for each node. Default is 0.

masterTableAddress

Type: string

Location of the webservice responsible for generating the master table. The complete address used is: #masterTableAddress#/table?group=#arclinkGroup# Default is http://webdc.eu/arclink.

arclinkGroup

Type: string

The arclink network group name that we want to merge to. This will be used to query the server pointed by the ‘masterTableAddress’ for the master table as indicated. Default is eida.

Command-line

Generic

-h, --help

show help message.

-V, --version

show version information

--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, eg scautopick -> scautopick2.

--plugins arg

Load given plugins.

-D, --daemon

Run as daemon. This means the application will fork itself and doesn’t need to be started with &.

--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).

--shutdown-master-module arg

Sets 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.

--shutdown-master-username arg

Sets 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

--verbosity arg

Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug

-v, --v

Increase verbosity level (may be repeated, eg. -vv)

-q, --quiet

Quiet mode: no logging output

--component arg

Limits the logging to a certain component. This option can be given more than once.

-s, --syslog

Use syslog logging back end. The output usually goes to /var/lib/messages.

-l, --lockfile arg

Path to lock file.

--console arg

Send log output to stdout.

--debug

Debug mode: –verbosity=4 –console=1

--log-file arg

Use alternative log file.

Messaging

-u, --user arg

Overrides configuration parameter connection.username.

-H, --host arg

Overrides configuration parameter connection.server.

-t, --timeout arg

Overrides configuration parameter connection.timeout.

-g, --primary-group arg

Overrides configuration parameter connection.primaryGroup.

-S, --subscribe-group arg

A group to subscribe to. This option can be given more than once.

--encoding arg

Overrides configuration parameter connection.encoding.

--start-stop-msg arg

Sets sending of a start- and a stop message.

Database

--db-driver-list

List all supported database drivers.

-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”.

--config-module arg

The configmodule to use.

--inventory-db arg

Load the inventory from the given database or file, format: [service://]location

--db-disable

Do not use the database at all

Mode of Operation

--check

Check my own inventory against the Master Table (the list of nodes affected can be controlled by the –nodes/–exclude options)

--sanity-check

Check the sanity of the inventory loaded on this node finding possible overlaps with the Master Table.

--sanity-clean

Remove the conflicting elements loaded on my host pointed out by the sanity command.

--merge

Performs a merging (one-direction synchronization) of inventory and routing based on the content of the Master Table (the list of nodes affected can be controlled by the –nodes/–exclude options).

--remove

Remove (undo the merge) inventory/routing information that was merged (the list of nodes affected can be controlled by the –nodes/–exclude options).

--erase

Erase my inventory/routing entries restoring the local seiscomp3 database to an empty state (use with caution).

--list

Fetch and list the Master Table content.

Options

--nodes nodeA,nodeB

Comma separated list of nodes to remove, merge, check.

--exclude nodeA,nodeB

Comma separated list of nodes to exclude from remove, merge, check.

--keep-synced

keep a copy of the Inventory and Routing tables merged.

--keep-raw

keep a copy of the RAW Inventory and Routing tables fetched.

--load-raw YY-MM-DD

load a copy of the RAW Inventory/Routing information from disk. It expects a date value in the following format YYYY-MM-DD.

--dry-run

Perform everything that should be done but don’t write changes to the database.

--force

Force merging against MYSELF.