Db command tutorial
db command tutorial
The db command is unique to sme server. It is used to add settings to the various configuration databases which are then incorporated into the standard configuration files in /etc/.... via the template expansion process.
To display the syntax, at a command prompt type
db
then press Enter, which displays the usage:
/sbin/e-smith/db dbfile keys /sbin/e-smith/db dbfile print [key] /sbin/e-smith/db dbfile show [key] /sbin/e-smith/db dbfile get key /sbin/e-smith/db dbfile set key type [prop1 val1] [prop2 val2] ... /sbin/e-smith/db dbfile setdefault key type [prop1 val1] [prop2 val2] ... /sbin/e-smith/db dbfile delete key /sbin/e-smith/db dbfile printtype [key] /sbin/e-smith/db dbfile gettype key /sbin/e-smith/db dbfile settype key type /sbin/e-smith/db dbfile printprop key [prop1] [prop2] [prop3] ... /sbin/e-smith/db dbfile getprop key prop /sbin/e-smith/db dbfile setprop key prop1 val1 [prop2 val2] [prop3 val3] ... /sbin/e-smith/db dbfile delprop key prop1 [prop2] [prop3] ...
Note that on a properly setup sme7.x (path wise) you do not need to include the /sbin/e-smith/ part.
Note also that from sme6 onwards, a shortcut for
db configuration
is
config
Note this only applies to this one often used database file, all others must be referred to using the format
db dbname xxxx yyyy zzzz
All database files are in
/home/e-smith/db
Here are a few examples to demonstrate useage and syntax correlation
db dbname show
Using real db names - for the database in /home/e-smith/db/configuration
db configuration show db configuration show |more db configuration keys db configuration show dansguardian
An example for an installed contrib
db configuration getprop dansguardian status
which gives something like
enabled
db configuration getprop dansguardian portblocking
which gives something like
yes
Compare the above displayed actual element values of the db command with the syntax result from issuing the db command where each element or piece equates to:
db = command
configuration = database name
show = part of a command
keys = party of a command
dansguardian = key
status = property
enabled = value
portblocking = property
yes = value
Apply the above "reasoning" to any database and the the syntax presented by issuing db then makes sense.
Note that missing (or no) properties and values do not necessarily mean no value is in the /etc/file.conf system, as the template code can have a default value in the absence of a specific db value.
Note to determine what db settings are supported by sme code, or what the default values are, refer to (ie read) the code that is in the particular template or custom template associated with a /etc/file.conf
Look in /etc/e-smith/templates/... and /etc/e-smith/templates-custom/.... and subfolders and template fragments applicable to particular /etc/file.conf configuration files.
To show a list of existing databases do
cd /home/e-smith/db ls -al
which gives something like
-rw-r----- 1 root admin 14676 Aug 25 22:38 accounts -rw-r----- 1 root admin 994 Sep 22 05:32 affa drwx------ 2 root root 4096 Sep 22 05:32 affa-report -rw-r--r-- 1 root root 15310 Sep 22 05:32 affa-rpmlist -rw-r----- 1 root admin 2532 Jul 7 15:42 backup2ws -rw-r----- 1 root admin 1496 Feb 4 2009 backups -rw-r----- 1 root admin 10040 Sep 15 02:01 configuration -rw-r----- 1 root admin 531 Feb 3 2009 dar2 -rw-r----- 1 root admin 816 Jun 3 22:11 domains -rw-r----- 1 root admin 4391 Sep 11 18:03 hosts drwxr-xr-x 2 root root 4096 Aug 25 22:48 ldap -rw-r----- 1 root admin 3074 Nov 15 2008 mailpatterns drwxr-x--- 2 root root 4096 May 29 22:11 mysql drwxr-xr-x 2 root root 4096 Aug 25 22:49 navigation -rw-r----- 1 root admin 298 Nov 15 2008 networks -rw-r--r-- 1 root root 0 Sep 23 2008 open_ro -rw-r----- 1 root admin 0 Oct 8 2008 portforward_tcp -rw-r----- 1 root admin 0 Oct 8 2008 portforward_udp -rw-r--r-- 1 root root 20 Jul 22 2007 proxyusers -rw-r----- 1 root admin 1489 Jun 24 13:26 spamassassin -rw-r----- 1 root admin 559 Sep 18 14:45 wbl drwxr-xr-x 2 root root 4096 Sep 7 11:26 webshare -rw-r----- 1 root admin 1179 Sep 7 11:30 WebShare -rw-r--r-- 1 root root 70 Sep 22 04:02 yum_available -rw-r--r-- 1 root root 70 Sep 22 04:02 yum_installed -rw-r----- 1 root admin 4351 Sep 21 20:17 yum_repositories -rw-r--r-- 1 root root 70 Sep 22 04:02 yum_updates
To show the keys for the two main databases do:
db configuration keys |more
That can be abbreviated to
config keys |more
db accounts keys |more
Note after using the |more switch, press Enter to scroll down a line at a time, or press Space to scroll down a page at a time
References
See the Howto section for a couple of articles on db commands that should give useful info ie
http://wiki.contribs.org/DB_Variables_Configuration
and
http://wiki.contribs.org/Useful_Commands
and refer to the Developers Guide for technical information if needed