Provided by: refdb-server_1.0.2-3ubuntu1_amd64 

NAME
refdbd - the application server of RefDB
SYNOPSIS
refdbd [-b dbs-port] [-d default-database] [-D dbserver] [-e log-destination] [-E encoding] [-h]
[-i IP-address] [-I] [-k] [-K] [-l log-level] [-L log-file] [-p port] [-P PID-file] [-q] [-r] [-s]
[-S note-share-mode] [-T time] [-U] [-v] [-V] [-x] [-y confdir] [-Y libdbidir]
refdbd {[-a] | [-c]} [-b dbs-port] [-D dbserver] [-e log-destination] [-E encoding] [-h] [-i IP-address]
[-l log-level] [-L log-file] [-p port] [-P PID-file] [-q] [-u username] [-v] [-V] [-w password]
[-x] [-y confdir] [-Y libdbidir]
DESCRIPTION
refdbd is the application server of RefDB(7). refdbd contains most of the application logic of RefDB and
interacts with the database engine. refdbd must run somewhere in your network to do anything useful with
the RefDB clients. refdbd usually runs as a daemon and responds to client requests, but it can be started
as a regular process for debugging purposes. To start refdbd as a server, use the first command synopsis
shown above.
It is recommended to use a wrapper script to start and stop refdbd. If you want to start and stop refdbd
manually, use refdbctl(1). If you want to run refdbd as a daemon, use refdb(8). Edit the configuration
file (see below) to permanently configure refdbd.
In addition to being run as a server, refdbd can also be invoked to check, install, or upgrade the main
database. Refer to the second command synopsis shown above.
OPTIONS
-a
Runs refdbd to install or upgrade the main database. refdbd will exit after performing the
maintenance tasks. In order to perform the maintenance tasks you have to provide a database
administrator username and password using the -u and -w options, respectively, if your database
engine uses access control. Some database configurations (e.g. PostgreSQL on Debian) further require
you to run the administrative tasks from a special privileged user account (often called pgsql or
postgres). If you use one of the file-based engines (SQLite or SQLite3), you must run the tool from
an account which has write permissions in the database folder. refdbd first checks whether a main
database already exists. If not, it will attempt to install it. Otherwise, it will upgrade the
database to the current version if required. refdbd will print an error message to stderr if the
maintenance job fails, and exit with a non-zero exit code.
-b dbs-port
Set the port on which the database server listens for incoming connections. The default is 3306 for
MySQL and 5432 for PostgreSQL. This option does not apply if you use SQLite as your database engine.
-c
Runs refdbd to check the main database version and the database engine connection. refdbd will exit
after performing the maintenance tasks. In order to perform the maintenance tasks you have to provide
a database administrator username and password using the -u and -w options, respectively, if your
database engine uses access control. If you use one of the file-based engines (SQLite or SQLite3),
you must run the tool from an account which has read permissions for the main database file. refdbd
will print an error message to stderr if the check fails, and exit with a non-zero exit code.
-d default-database
Set a default database to be used for all client queries that do not specify a database.
-D dbserver
Select the database server. Currently the values mysql, pgsql, and sqlite are supported to select
MySQL, PostgreSQL, and SQLite, respectively.
-e log-destination
This specifies the destination of the log information. If destination is 0 or "stderr", the log
output is sent to stderr. This should only be used for debugging purposes when refdbd is not run as a
daemon. If destination is 1 or "syslog", the syslog facility of the system is used. syslog has to be
configured properly to accept refdb's log output. Consult the syslogd(8) man page how to achieve
this. If destination is 2 or "file", a custom log file as defined by the -L switch is used instead.
If this log file cannot be written to, refdbd falls back to using syslog.
-E encoding
Select the default character encoding for new reference databases. Specify the IANA name of the
encoding. You can override this default by using the -E option of the createdb command.
-h
Displays help and usage screen, then exits.
-i IP-address
For external database servers, set the IP address of the box which is running the database server.
Instead of the IP address you can also specify the hostname as long as it can be properly resolved by
your system. If the database server runs on the same box as refdbd, use the string localhost. Note:
If localhost does not seem to work, try specifying the real IP address of the box instead - some
database client libraries refuse to use TCP/IP for local connections which may cause mayhem on
particular systems. For embedded database engines, this option sets the directory which contains the
database files. The default is /usr/local/share/refdb/db. Note: SQLite on Cygwin has a bug which
prevents the use of absolute paths. Use a relative path instead by leaving out the leading slash.
This assumes that refdbd is started from the root directory. The start script refdbctl does this
automatically.
-I
Set this switch to allow remote connections to refdbd. Otherwise only connections from localhost
(127.0.0.1) will be answered.
-k
refdb stores up to four names (full name, official abbreviation, and two user-defined abbreviations)
of each periodical. These synonyms are shared by all references that use one of these periodical
names. As it sometimes requires some effort to get at the synonyms (public reference data often
contains only the official abbreviation), it is desirable to keep these synonyms even if you remove
the last reference that uses a particular periodical name. If you use the -k option, the synonyms
will not be removed from the database and will be available immediately if you add a new reference
using that particular periodical name.
-K
If this option is used, refdbd will run an automatic keyword scan each time you add or update
references. refdbd will scan the title fields and the abstract field of the modified references for
any keywords already present in the database but not in the particular reference. This increases the
usability of keywords in queries. There is no speed decrease for the user interaction as the keyword
scan is performed in the background. See also the related refdba command scankw which performs a more
thorough manual keyword scan.
-l log-level
Set the log level to a value between 0 and 7 or to a string value as described in log level
definitions. 0 means that only critical log messages will be logged, while a value of 7 means that
every log message will be logged. Set level to -1 to disable logging.
-L log-file
This switch specifies a custom log file (full path please). This will only be used if the -e switch
is set accordingly.
-p port
Set the port on which refdbd listens for incoming connections. The default is 9734.
-P PID-file
Specify the full path of the file that refdbd writes its process ID to. This PID simplifies stopping
and reconfiguring the application server from the command line. The default value is
/var/log/refdbd.pid.
-q
Start without reading the configuration file. Useful for debugging purposes
-r
Enables remote administration via refdba.
-s
Starts as a standalone application, not as daemon.
-S note-share-mode
Set the default extended note share mode to either public or private. This setting affects the
accessibility of extended notes if they do not explicitly carry a share attribute. See the section
about notes sharing for more information.
-T time
Set the timeout for client/application server dialogue in seconds.
-u name
Set the username of the database administrator account.
-U
This switch causes refdbd to automatically uppercase all citation keys of newly added references.
This makes it more convenient to work with SGML bibliographies.
-v
Prints version and copyright information, then exits.
-V
Switches to verbose mode. To be honest, currently this doesn't make much of a difference.
-w password
The password of the database administrator account. You can pass an asterisk to let refdbd ask for a
password interactively. This keeps your password from showing up in the process list. Keep in mind
that you have to protect the asterisk on the command line by surrounding it with single quotes.
-x
Assume incoming passwords are unencrypted.
-y confdir
Specify the directory where the global configuration files are Note: By default, all RefDB
applications look for their configuration files in a directory that is specified during the configure
step when building the package. That is, you don't need the -y option unless you use precompiled
binaries in unusual locations, e.g. by relocating a rpm package.
-Y libdbidir
Specify the directory where the libdbi drivers are Note: By default, libdbi (the database abstraction
library used by refdbd) looks for its driver files in a directory that is specified during the
configure step when building the package. That is, you don't need the -Y option unless you use
precompiled libdbi binaries in unusual locations, e.g. by relocating a rpm package.
CONFIGURATION
Table 1. refdbdrc
┌───────────────┬─────────────────────────────┬──────────────────────────────┐
│ Variable │ Default │ Comment │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ refdblib │ /usr/local/share/refdb │ The path of the directory │
│ │ │ containing shareable refdb │
│ │ │ files like DTDs, HTML │
│ │ │ templates etc. Actually, │
│ │ │ most of the files are in │
│ │ │ subdirectories of refdblib. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ dbsport │ 3306 │ The port on which the │
│ │ │ database server listens. Use │
│ │ │ either 3306 or 5432 for │
│ │ │ MySQL and PostgreSQL, │
│ │ │ respectively. This variable │
│ │ │ is ignored if you use SQLite │
│ │ │ as your database engine. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ dbserver │ sqlite │ The database server you want │
│ │ │ to connect to. Use one of │
│ │ │ mysql, pgsql, or sqlite to │
│ │ │ select MySQL, PostgreSQL, or │
│ │ │ SQLite as your database │
│ │ │ engine, respectively. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ dbpath │ /usr/local/var/lib/refdb/db │ The directory that contains │
│ │ │ the database files of an │
│ │ │ embedded database engine. │
│ │ │ Leave out the leading slash │
│ │ │ if you use SQLite on Cygwin. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ logdest │ 2 │ The destination of the log │
│ │ │ information. 0 = print to │
│ │ │ stderr (for debugging only, │
│ │ │ don't use when running as a │
│ │ │ daemon); 1 = use the syslog │
│ │ │ facility; 2 = use a custom │
│ │ │ logfile. The latter needs a │
│ │ │ proper setting of logfile. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ logfile │ /var/log/refdbd.log │ The full path of a custom │
│ │ │ log file. This is used only │
│ │ │ if logdest is set │
│ │ │ appropriately. If you start │
│ │ │ refdbd from the command line │
│ │ │ as a regular user, you │
│ │ │ should specify a file that │
│ │ │ you have write access to │
│ │ │ (you may not be allowed to │
│ │ │ create /var/log/refdbd.log │
│ │ │ or write to this file as a │
│ │ │ regular user). │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ loglevel │ 6 │ The log level up to which │
│ │ │ messages will be sent. A low │
│ │ │ setting (0) will notify you │
│ │ │ only in case of a meltdown, │
│ │ │ whereas a high setting (7) │
│ │ │ allows all messages │
│ │ │ including debug messages │
│ │ │ (this is a lot). -1 means │
│ │ │ nothing will be logged. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ pidfile │ /var/log/refdb.pid │ The file refdbd writes its │
│ │ │ process ID to. If you start │
│ │ │ refdbd from the command line │
│ │ │ as a regular user, you │
│ │ │ should specify a file that │
│ │ │ you have write access to │
│ │ │ (you may not be allowed to │
│ │ │ create /var/log/refdbd.pid │
│ │ │ or write to this file as a │
│ │ │ regular user). │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ port │ 9734 │ The port on which refdbd │
│ │ │ listens. The server and all │
│ │ │ clients that are supposed to │
│ │ │ connect to it must agree on │
│ │ │ the same port. Obviously, │
│ │ │ this option allows to run │
│ │ │ several instances of refdbd │
│ │ │ on the same box if there is │
│ │ │ a good reason to do so. In │
│ │ │ this case you should also │
│ │ │ use separate log and pid │
│ │ │ files. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ remoteadmin │ f │ Set this to 't' to allow │
│ │ │ remote administration via │
│ │ │ refdba. Be aware that this │
│ │ │ is a security risk. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ serverip │ localhost │ The IP address or hostname │
│ │ │ of the machine where the │
│ │ │ database server runs. Use │
│ │ │ the default (localhost) │
│ │ │ address if the database │
│ │ │ server and refdbd run on the │
│ │ │ same machine. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ timeout │ 180 │ The timeout in seconds. │
│ │ │ After this time has elapsed, │
│ │ │ a stalled connection is │
│ │ │ taken down. Increase this │
│ │ │ value if you encounter │
│ │ │ frequent timeout errors due │
│ │ │ to high network traffic. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ keep_pnames │ t │ Set this to 't' to keep │
│ │ │ periodical names and │
│ │ │ synonyms if you remove │
│ │ │ references. If set to 'f', │
│ │ │ the names will be removed │
│ │ │ from the database if the │
│ │ │ last reference using these │
│ │ │ names is deleted. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ db_encoding │ (none) │ Specify the default │
│ │ │ character encoding for new │
│ │ │ refdb reference databases. │
│ │ │ If the database server │
│ │ │ supports this feature │
│ │ │ (currently only PostgreSQL │
│ │ │ does), all new databases │
│ │ │ will use this encoding │
│ │ │ unless a different one is │
│ │ │ specified with the createdb │
│ │ │ command. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ in_encoding │ ISO-8859-1 │ Specify the default │
│ │ │ character encoding for RIS │
│ │ │ data being added to │
│ │ │ databases. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ dbi_driverdir │ (none) │ Specify the directory │
│ │ │ containing the libdbi driver │
│ │ │ files. As mentioned above, │
│ │ │ this is only necessary if │
│ │ │ you use precompiled libdbi │
│ │ │ binaries in funny locations. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ keyword_scan │ t │ Set this to 't' to allow an │
│ │ │ automatic keyword scan after │
│ │ │ references are added or │
│ │ │ updated. 'f' will switch off │
│ │ │ this feature. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ upper_citekey │ f │ Set this to 't' to uppercase │
│ │ │ all citation keys of newly │
│ │ │ added references (this makes │
│ │ │ sure they work with SGML │
│ │ │ bibliographies). │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ share_default │ public │ Whether ("public") or not │
│ │ │ ("private") to share │
│ │ │ extended notes between users │
│ │ │ by default. See the section │
│ │ │ about notes sharing for more │
│ │ │ information. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ remoteconnect │ f │ Set this to 't' to allow │
│ │ │ remote connections to │
│ │ │ refdbd. By default, refdbd │
│ │ │ accepts only local │
│ │ │ connections due to security │
│ │ │ concerns. │
├───────────────┼─────────────────────────────┼──────────────────────────────┤
│ no_decrypt │ f │ If set to 't', incoming │
│ │ │ passwords are assumed to be │
│ │ │ unencrypted. The default is │
│ │ │ to expect encrypted │
│ │ │ passwords. │
└───────────────┴─────────────────────────────┴──────────────────────────────┘
FILES
PREFIX/etc/refdb/refdbdrc
The global configuration file of refdbd.
SEE ALSO
RefDB (7), refdb (8), refdbctl (1), refdba (1), refdbc (1).
RefDB manual (local copy) PREFIX/share/doc/refdb-<version>/refdb-manual/index.html
RefDB manual (web) <http://refdb.sourceforge.net/manual/index.html>
RefDB on the web <http://refdb.sourceforge.net/>
AUTHOR
refdbd was written by Markus Hoenicka <markus@mhoenicka.de>.
RefDB Manual 2005-10-13 REFDBD(1)