OnWorks favicon

dbutil - Online in the Cloud

Run dbutil in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command dbutil that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



dbutil - database utility


dbutil {-d | --dump} dbfile

dbutil {-q | --query} [-t] dbfile key

dbutil {-u | --update} [-n] dbfile key [value]

dbutil {-x | --delete} dbfile key

dbutil -t [date | [+|-]interval]


The dbutil program maintains a database of key-value pairs that can be queried and updated
from the command line. For each such pair in the database, it also keeps an expiration
time, so that unused entries can be purged from the database. dbutil must be given an
option specifying in which mode to run the program. The following modes are available:

--dump (-d)
Prints the contents of the database. Each database entry is printed in one of the the
following two formats, depending on whether the record has an expiration time:

key value

key value (expiration-time)

--query (-q)
Prints the value of a particular key in the database. If the -t flag is also
specified, prints the expiration time of the record. In addition, the --expire flag
can be specified to update the expiration time on the record. Exits 0 if the key was
found, 1 if the key was not in the database, or 2 if there is a system error.

--update (-u)
Sets the value of a key in the database to a particular value. If no value is
supplied, sets the value to the empty string (which is not the same as deleting the
record). The --expire flag can also be specified to set an expiration time on the

Ordinarily, this option overwrites any previous value in the database. If the -n
option is supplied, dbutil will not overwrite a previously stored value in the
database (and will not update the expiration time on the record). Exits 0 if the key
was found, 1 if -n was specified and the key was already in the database, or 2 if
there is a system error.

--expire={date | [+|-]interval}
This option can be specified in conjunction with --update or --query to set an
expiration time on the record. The option has two formats. You can either specify an
absolute time, as the number of seconds since Jan 1, 1970 GMT, or you can specify an
offset from the current time with the format:


Where + means in the future, - means in the past, count is a number, and units is one
of the following characters:

s - seconds
m - minutes
h - hours
D - days
W - weeks
M - months
Y - years

For example --expire=+36D means the record will be deleted in 36 days. If you always
look up key with the command:

dbutil --query --expire=+36D key

then the key will only expire if you do not look it up within 36 days.

Note that dbutil keeps a sorted list of the records by time of last access. Thus,
purging old records is not an inherently expensive operation, and happens
automatically whenever you modify the database.

--nosync (-N)
Ordinarily, dbutil synchronously flushes the database file to disk after making any
modifications, to minimize the window of vulnerability in which a crash could corrupt
the database (if the --dbhome option is not supplied). Synchronously flushing the
database file is slow, however. This option suppresses that behavior, and can be used
to build lookup tables efficiently. For example, you might have a script that builds
a file x.db by issuing the following commands:

#!/bin/sh -e
rm -f x.db~
dbutil -Nu x.db~ key1 val1
dbutil -Nu x.db~ key2 val2
# ...
dbutil -Nu x.db~ keyn valn
dbutil -u @ @
mv -f x.db~ x.db

--delete (-x)
Deletes a particular key from the database (if the database contains the key). Exits
0 if the key was found, 1 if the key was not in the database, or 2 if there was a
system error.

-t [date|interval]
With no options, prints the number of seconds since Jan 1, 1970, GMT. With an
argument that takes the same format as --expire, prints the expiration time as an
absolute number of seconds since 1970. Not really a database function, but useful hen
you want to store a timestamp in the database.

Note that -t can also be combined with the --query option, in which case it causes
dbutil to print the expiration time of the key, rather than its value.

dbutil attempts to minimize the damage from an inopportune crash by flushing the database
file to disk whenever it is modified. However, there is still a small window in which
your database can be irrevocably corrupted. This may be alright if you are just using the
database to store "soft state".

If you want the database to be recoverable under any circumstances, you must use write-
ahead logging, in which case dbutil needs to keep a directory with database logs, not just
a single database file. The following option specifies where to keep the log files. It
must be used in conjunction with the other options for each mode except -t:

Specifies that database log files should be kept in directory dbhome (which will be
created if it does not already exist). Note that database files with relative
pathnames will also be stored in this directory. It is highly recommended that you
use relative pathnames so as to store database files and log files together.
Otherwise, you run the risk of accessing a logged database without the --dbhome option
and trashing its contents.


When set, specifies a directory in which to keep log files, so as to make the database
crash-recoverable. This is equivalent to specifying the option --dbhome=$DB_HOME
(except that any actual --dbhome argument will override the environment variable).

Use dbutil online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Phaser is a fast, free, and fun open
    source HTML5 game framework that offers
    WebGL and Canvas rendering across
    desktop and mobile web browsers. Games
    can be co...
    Download Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    VASSAL is a game engine for creating
    electronic versions of traditional board
    and card games. It provides support for
    game piece rendering and interaction,
    Download VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF is a Java library for creating
    and editing PDF files with a LGPL and
    MPL open source license. OpenPDF is the
    LGPL/MPL open source successor of iText,
    Download OpenPDF - Fork of iText
  • 4
    SAGA - System for Automated
    Geoscientific Analyses - is a Geographic
    Information System (GIS) software with
    immense capabilities for geodata
    processing and ana...
    Download SAGA GIS
  • 5
    Toolbox for Java/JTOpen
    Toolbox for Java/JTOpen
    The IBM Toolbox for Java / JTOpen is a
    library of Java classes supporting the
    client/server and internet programming
    models to a system running OS/400,
    i5/OS, o...
    Download Toolbox for Java/JTOpen
  • 6
    D3.js (or D3 for Data-Driven Documents)
    is a JavaScript library that allows you
    to produce dynamic, interactive data
    visualizations in web browsers. With D3
    Download D3.js
  • More »

Linux commands