<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
- <TITLE>The DXSpider Installation and Administration Manual : Automating things</TITLE>
+ <TITLE>The DXSpider Administration Manual v1.48: Databases</TITLE>
<LINK HREF="adminmanual-5.html" REL=next>
<LINK HREF="adminmanual-3.html" REL=previous>
<LINK HREF="adminmanual.html#toc4" REL=contents>
<A HREF="adminmanual-3.html">Previous</A>
<A HREF="adminmanual.html#toc4">Contents</A>
<HR>
-<H2><A NAME="s4">4. Automating things</A></H2>
+<H2><A NAME="s4">4. Databases</A></H2>
-<P>Ok, you should now have DXSpider running nicely and allowing connects by cluster
-nodes or users. However, it has to be shutdown and restarted manually and if
-connection scripts fail they have to be started again manually too, not much use
-if you are not at the console! So, in this section we will automate both.
-Firstly starting the cluster.
+<P>Spider allows the creation of local or remote databases. It supports
+chained databases, allowing several different databases to be scanned
+with one simple command. Importing of databases is limited at present
+to the standard AK1A databases such as OBLAST and the DB0SDX QSL
+database but will expand with time.
<P>
-<H2><A NAME="ss4.1">4.1 Autostarting the cluster</A>
+<H2><A NAME="ss4.1">4.1 Creating databases</A>
</H2>
-<P>This is not only a way to start the cluster automatically, it also works as a
-watchdog, checking the sanity of DXSpider and respawning it should it crash for
-any reason. Before doing the following, shutdown the cluster as you did earlier.
+<P>Creating a database could not be more simple. All the commands are
+sent from the cluster prompt as the <EM>sysop</EM> user.
+<P>To create a database you use the command <EM>dbcreate</EM>. It can
+be used in 3 different ways like so ..
<P>
-<P>Login as root and bring up the /etc/inittab file in your favourite editor. Add
-the following lines to the file near the end ...
+<BLOCKQUOTE><CODE>
+<PRE>
+dbcreate <name>
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>To simply create a database locally, you just tell the command the
+name of the database. This does not create the actual database, it
+simply defines it to say that it exists.
<P>
<BLOCKQUOTE><CODE>
<PRE>
-##Start DXSpider on bootup and respawn it should it crash
-DX:3:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
+dbcreate <name> chain <name> [<name>...]
</PRE>
</CODE></BLOCKQUOTE>
+<P>This creates a chained database entry. The first database will be
+scanned, then the second, the third etc...
<P>
-<P>This will automatically start DXSpider on tty7 (ALT-F7) on bootup and restart
-it should it crash for any reason.
+<BLOCKQUOTE><CODE>
+<PRE>
+dbcreate <name> remote <name>
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This creates a remote entry. the first name field is the database
+name at the remote node, then the remote switch, then the actual
+node_call of the remote node, for example...
<P>
-<P>As root type the command <EM>telinit q</EM>. DXSpider should start up
-immediately. You will see the output on tty7 and if you login as <EM>sysop</EM>
-you should find everything running nicely.
+<BLOCKQUOTE><CODE>
+<PRE>
+dbcreate buckmaster remote gb7dxc
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Remote databases cannot be chained, however, the last database in a
+chain can be a remote database.
+<P>
+<H2><A NAME="ss4.2">4.2 Importing databases</A>
+</H2>
+
+<P>The only databases that Spider can currently import are the standard
+AK1A databases such as OBLAST or the DB0SDX qsl and address database.
+This will be added to with time.
+<P>To import such a database, first put the file somewhere useful like /tmp
+and then issue the following command ...
<P>
-<P>So far so good, now to automate script connections...
+<BLOCKQUOTE><CODE>
+<PRE>
+dbimport oblast /tmp/OBLAST.FUL
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This will update the existing local oblast database or create it if
+it does not exist.
<P>
-<H2><A NAME="ss4.2">4.2 The crontab file</A>
+<H2><A NAME="ss4.3">4.3 Checking available databases</A>
</H2>
-<P>Login as <EM>sysop</EM> and create a file in /spider/local_cmd called crontab.
-Edit it with your favourite editor and add a line like this (I have included
-a comment)
+<P>Once a database is created, you will want to check that it has been
+added. To do this use the <EM>dbavail</EM> command. This will
+output the available databases. For example ...
<P>
<BLOCKQUOTE><CODE>
<PRE>
-# check every 10 minutes to see if gb7xxx is connected and if not
-# start a connect job going
+dbavail
+DB Name Location Chain
+qsl Local
+buck GB7ADX
+hftest GB7DXM
+G0VGS de GB7MBC 3-Feb-2001 1925Z >
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>
+<H2><A NAME="ss4.4">4.4 Looking up databases</A>
+</H2>
-0,10,20,30,40,50 * * * * start_connect('gb7xxx') if !connected('gb7xxx')
+<P>To look for information in a defined database, simply use the <EM>dbshow</EM>
+command, for example ...
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+dbshow buckmaster G0YLM
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>will show the information for the callsign G0YLM from the buckmaster
+database if it exists. To make things more standard for the users
+you can add an entry in the Aliases file so that it looks like a standard
+<EM>show</EM> command like this ...
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+'^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
</PRE>
</CODE></BLOCKQUOTE>
+<P>Now you can simply use show/buckmaster or an abreviation.
<P>
-<P>The callsign involved will be the callsign of the cluster node you are
-going to connect to. This will now check every 10 minutes to see if
-gb7xxx is connected, if it is then nothing will be done. If it is not,
-then a connect attempt will be started.
+<H2><A NAME="ss4.5">4.5 Removing databases</A>
+</H2>
+
+<P>To delete an existing database you use the <EM>dbremove</EM> command.
+For example ...
<P>
-<P>There are probably lots of other things you could use this crontab file for.
-If you want to know more about it, look at the
-<A HREF="http://www.dxcluster.org/cron.html">DXSpider</A> website
-at the cron page where it is explained more fully.
+<BLOCKQUOTE><CODE>
+<PRE>
+dbremove oblast
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>would remove the oblast database and its associated datafile from the
+system. There are no warnings or recovery possible from this command.
+If you remove a database it ceases to exist and would have to be created
+from scratch if you still required it.
<P>
<HR>
<A HREF="adminmanual-5.html">Next</A>