glite-lb-bkserverd man page

glite-lb-bkserverd — bookkeeping server daemon


glite-lb-bkserverd [options]


glite-lb-bkserverd accepts L&B events from interlogger, manages the data storage, and serves user queries (L&B consumer clients).

Currently, the data are stored in MySQL database.

The main process spawns several slave processes. Then it listens on port (default value is 9000) for consumer queries and port+1 for interlogger daemon requests to store events to database. Requests are redirected to the slaves  (and picked up by the first free slave process). All the connection handling and data processing (including SSL handshake) is performed by the slaves.

The slaves voluntarily die and are resurrected periodically to workaround potential resource leakage.


-a HOST:PORT, --address HOST:PORT

Make the server pretend (wrt. data handling) it listens on HOST:PORT instead of the real listening address. This is used for debugging and various administrative purposes (e.g. computing usage statistics on data dumped from another server).

-c FILE, --cert FILE

Get certificate from FILE. This option overrides the $X509_USER_CERT environment variable.

-b SWITCH, --transactions SWITCH

Set transaction on/off. SWITCH is true where its value is not 0.

-C DIR, --CAdir DIR

Trusted CA's certificates directory. DIR. This option overrides the $X509_CERT_DIR environment variable.


Trusted VOMS server's certificates directory. DIR. This option overrides the $X509_VOMS_DIR environment variable.

-d, --debug

Don't run as daemon. Additional diagnostics are not enabled, they can be configured through log4c instead.

-r, --rgmaexport

Write state info to RGMA interface.

-i FILE, --pidfile FILE

Store master pid into FILE instead of the default pidfile location. Unless unavoidable it is not recommended to change the pidfile location as it is also used for locking to prevent starting up multiple server instances and to generate the semaphore set unique key (see option -l).

-k FILE, --key FILE

Get private key from FILE. This option overrides the $X509_USER_KEY environment variable.

-l NUM, --semaphores NUM

Use NUM semaphores (job locks).

To prevent race conditions on simultaneous event storage and job-state updates glite-lb-bkserverd uses a set of semaphores to lock jobs. Jobids are hashed to the semaphores and only one of the set of jobs that map to a particular semaphore may be updated at any given time.  Therefore NUM is a limit on potential processing parallelism.

NUM defaults to the number of slaves (see -s).


Limit the maximum number of returned jobs/events that match user query to NUM:NUM:NUM in format events_limit:jobs_limit:size_limit.

-N NUM, --notif-dur NUM

Maximal duration of notification registrations in hours NUM.

-S PREFIX, --purge-prefix PREFIX

Purge files full-path prefix PREFIX.

-D PREFIX, --dump-prefix PREFIX

Dump files full-path prefix PREFIX.

-J DIR, --jpreg-dir DIR

JP registration temporary files prefix (implies '-j'). DIR.

-j , --enable-jpreg-export

Enable JP registration export (disabled by default).

-m STRING, --mysql STRING

STRING is a database connect string in the form

It defaults to lbserver/@localhost:lbserver20.

-n, --noauth

Turn off any authorization.

-p NUM, --port NUM

Listen on the port NUM.

-w NUM, --wsport NUM

Set port to serve the web services requests to NUM.

-r, --rgmaexport

Write state info into the RGMA interface. Experimental.

-s NUM, --slaves NUM

Fork NUM slaves.

--super-user USER,  --super-user-file FILE

Bypass query authorization (i.e. return results anyway) when  USER (or users listed in FILE) connect.

--no-index NUM

Disable checking the indices for superusers (NUM=1) or entirely (NUM=2).


(not recommended). Use a more strict locking strategy -- lock jobs sooner, when events are stored, not just for status update. This prevents a non-probable but still possible race condition with parallel purge but may slow down processing on heavy loaded servers. Anyway, the only consequence of the race condition is a little garbage left in the database which is cleaned  form time to time anyway.

--notif-il-sock SOCK

Socket SOCK to send notifications.

--notif-il-sock PREFIX

File PREFIX for notifications.

--count-statistics NUM

Count certain statistics on jobs for superusers (NUM=1) or for all (NUM=2).

-t NUM, --request-timeout NUM

Request timeout NUM for one client.


Do not print diagnostic, even if -d is on.


Allow delayed registration (grey jobs), implies --strict-locking.


Activate LCAS-based authorization.

-I,--rss-time NUM

Set the maximal age (in seconds) of states published via RSS.


Run only proxy service.


Run both server and proxy service.


Path-name to the local socket for communication with LB proxy.


Size of the connection queue (accept).


Socket to send events to.


File prefix for events.


Enable automatic purging of the jobs in terminal state for proxy service (disabled by default, purging cron job installed by YAIM).


Disable checking of purged jobs when registering jobs with the EDG_WLL_LOGLFLAG_EXCL flag set.



if running as root (not recommended).



File to store pid and to generate semaphores key.

No configuration files needed.



If $X509_USER_KEY is set, it is used to locate private key file.


If $X509_USER_CERT is set, it is used to locate certificate file.


If $X509_CERT_DIR is set, it is used to locate the trusted CA's certificates and ca-signing-policy files.


If $X509USER_PROXY is set, it is used to locate proxy certificate file.


If $EDG_WL_RGMA_FILE is set, it is used as name of file for sharing data with RGMA services.


If $EDG_WL_RGMA_SOCK is set, it is  used as name of socket for communication with RGMA.


In a case of a sudden crash, alive slave processes may survive or some resources (IPC locks, open ports) may stay allocated. Please, deal with such problems via standard commands kill and ipcrm.

Please report all bugs to CESNET gLite L&B issue tracker available at

See Also

glite-lb-bkindex(8), glite-lb-purge(1), glite-lb-interlogd(8), glite-lb-logd(8), glite-lb-logevent(1),



Referenced By

glite-lb-bkindex(8), glite-lb-dump(1), glite-lb-interlogd(8), glite-lb-load(1), glite-lb-logd(8), glite-lb-logevent(1), glite-lb-notify(1), glite-lb-purge(1), glite-lb-setup(8).

April 2008 EU EGEE Project Logging&Bookkeeping