This HTML automatically generated with rman for NEMO
Table of Contents

Name

xdata - utilities for handling arbitrary key-value pairs

Synopsis

Common options: [ -h ] [ -t type ] [ -p path ]

xdls [ -i ] [ -l ] [ -e ] [ key | /regexp/ ] ...

xdget key

xdput [ -r ] [ -c ] key

xded [ -n ] key

xdrm [ -i ] [ -e ] ( key | /regexp/ ) ...

xdcp [ -f ] old-key new-key

xdmv [ -f ] old-key

new-key

xdsync [ -P ] [ -r rsh ] [ -x xdsync ] [ -v ] ( -s | [ user@]host)

Description

The xdata utilities provide an interface for accessing and reading arbitrary data stored as key-value pairs in GDBM databases. The data are stored along with timestamps which are used by xdsync to synchronise xdata databases among groups of cooperating hosts.

In addition to the utilities described here, there is a perl(1) interface to xdata, called Data::XData; this module is in the xdata distribution.

Data are stored in files located in a number of possible directories, given by the environment variable XDPATH or by the -p command-line option. Several different types of data can be stored; the type is an arbitrary string, which is given in the XDTYPE environment variable or by the -t command-line option.

Common Options

-h
Print a brief usage summary.

-p path
Use path to locate xdata databases, instead of the value of the XDPATH environment variable. With no arguments, xdls will list every key in the database.

-t type
Use path to locate xdata databases, instead of the value of the XDTYPE environment variable.

Xdls

xdls writes a list of named keys, or keys matching the given regexps, to standard output. If no keys or regexps are listed, then xdls will list all keys in the selected database. xdls exits successfully if any key is listed.

-i
Names and regular expressions will match case-insensitively.

-l
The size and modification time of each key listed should be printed, in a format reminiscent of ls(1) .

-e
Show internal and metadata keys are shown instead of user keys.

Xdget

xdget retrieves the datum named key from the database, emitting it on standard output, exiting successfully if any data are retrieved.

Xdput

xdput inserts data from standard input into the database under the given key, exiting successfully if the data are stored.

-r
Replace an existing key, if one exists.

-n
Create a new database (in this first element of the path) if none exists.

Xded

xded edits the data associated with the given key, by writing it to a temporary file and invoking an editor (by default, the value of the EDITOR environment variable, or /bin/vi) on it. xded exits successfully if the data are edited.

-n
Create and edit a new blank datum if the named key does not exist.

Xdrm

xdrm removes the named keys, or keys matching the given regexps, from the database, exiting successfully if any key is deleted.

-i
Names and regular expressions will match case-insensitively.

-e
Delete internal and metadata keys are shown instead of user keys. Use with caution.

Xdcp

xdcp copies the named old-key to new-key, exiting successfully if the datum is copied.

-f
Overwrite an existing new-key, if present.

Xdmv

xdmv renames the named old-key to new-key, exiting successfully if the datum is renamed.

-f
Overwrite an existing new-key, if present.

Xdsync

xdsync synchronises data in the given database with the database of the same type on host, optionally logging in as user.

Because synchronisation relies upon the use of timestamp information in the database, xdsync will abort if the time on the remote machine differs from that on the local machine by a certain margin, by default 60 seconds.

xdsync exits successfully if the synchronisation process completes without error.

-P
The local xdata path will be passed to the remote machine; this may well be inappropriate, but could be useful if the remote machine is running a broken shell.

-r rsh
Specifies the program to be used to contact the remote host, by default, ‘/usr/bin/rsh’ If the environment variable XDRSH is set, it will override this value.

-x xdsync
Specifies the name under which to call xdsync on the remote host, by default ‘xdsync’

-v
Be verbose.

-s
Slave mode (internal use only).

Bugs

See the source code.

Files

Stored under the paths given in the XDPATH environment variable.

See Also

gdbm(3) , perl(1) , Data::XData(3) , vi(1) ,
http://www.ex-parrot.com/~chris/xdata/, README and other files in the xdata distribution.

Author

Chris Lightfoot <chris@ex-parrot.com>

Copying

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


Table of Contents