added run_cmd to the cron system to run any DXCluster command
[spider.git] / html / adminmanual-6.html
index c5a557f728631a2f44da4c5ab0a6378396fe2b64..ee7c7bffe7fb7c70657040751c1bf98c6b5b309c 100644 (file)
 <HTML>
 <HEAD>
  <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
- <TITLE>The DXSpider Installation and Administration Manual : Information, files and useful programs</TITLE>
+ <TITLE>The DXSpider Administration Manual v1.47: Databases</TITLE>
  <LINK HREF="adminmanual-7.html" REL=next>
  <LINK HREF="adminmanual-5.html" REL=previous>
  <LINK HREF="adminmanual.html#toc6" REL=contents>
+<link rel=stylesheet href="style.css" type="text/css" title="default stylesheet">
 </HEAD>
 <BODY>
 <A HREF="adminmanual-7.html">Next</A>
 <A HREF="adminmanual-5.html">Previous</A>
 <A HREF="adminmanual.html#toc6">Contents</A>
 <HR>
-<H2><A NAME="s6">6. Information, files and useful programs</A></H2>
+<H2><A NAME="s6">6. Databases</A></H2>
 
-<H2><A NAME="ss6.1">6.1 MOTD</A>
-</H2>
-
-<P>One of the more important things a cluster sysop needs to do is to get information to his users.  The simplest way to do this is to have a banner that is sent to the user on login.  This is know as a "message of the day" or "motd".  To set this up, simply create a file in /spider/data called motd and edit it to say whatever you want.  It is purely a text file and will be sent automatically to anyone logging in to the cluster.
-<P>
-<H2><A NAME="ss6.2">6.2 Downtime message</A>
-</H2>
-
-<P>If for any reason the cluster is down, maybe for upgrade or maintenance but the machine is still running, a message can be sent to the user advising them of the fact.  This message lives in the /spider/data directory and is called "offline".  Simply create the file and edit it to say whatever you wish.  This file will be sent to a user attempting to log into the cluster when DXSpider is not actually running.
+<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="ss6.3">6.3 Other text messages</A>
+<H2><A NAME="ss6.1">6.1 Creating databases</A>
 </H2>
 
-<P>You can set other text messages to be read by the user if they input the file name.  This could be for news items or maybe information for new users.  To set this up, make a directory under /spider called <EM>packclus</EM>.  Under this directory you can create files called <EM>news</EM> or <EM>newuser</EM> for example.  In fact you can create files with any names you like.  These can be listed by the user with the command ....
+<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>
 <BLOCKQUOTE><CODE>
 <PRE>
-show/files
+dbcreate &lt;name>
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>They can be read by the user by typing the command ....
+<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>
-type news
+dbcreate &lt;name> chain &lt;name> [&lt;name>...]
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>If the file they want to read is called <EM>news</EM>.  You could also set an alias for this in the Alias file to allow them just to type <EM>news</EM>
-<P>
-<P>You can also store other information in this directory, either directly or nested under directories.  One use for this would be to store DX bulletins such as the OPDX bulletins.  These can be listed and read by the user.  To keep things tidy, make a directory under /spider/packclus called <EM>bulletins</EM>.  Now copy any OPDX or similar bulletins into it.  These can be listed by the user in the same way as above using the <EM>show/files</EM> command with an extension for the bulletins directory you have just created, like this ....
+<P>This creates a chained database entry.  The first database will be
+scanned, then the second, the third etc...
 <P>
 <BLOCKQUOTE><CODE>
 <PRE>
-show/files bulletins
+dbcreate &lt;name> remote &lt;name>
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>
-<P>An example would look like this ....
+<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>
 <BLOCKQUOTE><CODE>
 <PRE>
-sh/files
-bulletins      DIR 20-Dec-1999 1715Z news          1602 14-Dec-1999 1330Z
+dbcreate buckmaster remote gb7dxc
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>You can see that in the files area (basically the packclus directory) there is a file called <EM>news</EM> and a directory called <EM>bulletins</EM>.  You can also see that dates they were created.  In the case of the file <EM>news</EM>, you can also see the time it was last modified, a good clue as to whether the file has been updated since you last read it.  To read the file called <EM>news</EM> you would simply issue the command ....
+<P>Remote databases cannot be chained, however, the last database in a
+chain can be a remote database.
 <P>
-<BLOCKQUOTE><CODE>
-<PRE>
-type news
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>To look what is in the bulletins directory you issue the command ....
+<H2><A NAME="ss6.2">6.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>
 <BLOCKQUOTE><CODE>
 <PRE>
-show/files bulletins
-opdx390      21381 29-Nov-1999 1621Z opdx390.1     1670 29-Nov-1999 1621Z
-opdx390.2     2193 29-Nov-1999 1621Z opdx391      25045 29-Nov-1999 1621Z  
-opdx392      35969 29-Nov-1999 1621Z opdx393      15023 29-Nov-1999 1621Z  
-opdx394      33429 29-Nov-1999 1621Z opdx394.1     3116 29-Nov-1999 1621Z  
-opdx395      24319 29-Nov-1999 1621Z opdx396      32647 29-Nov-1999 1621Z
-opdx396.1     5537 29-Nov-1999 1621Z opdx396.2     6242 29-Nov-1999 1621Z
-opdx397      18433 29-Nov-1999 1621Z opdx398      19961 29-Nov-1999 1621Z  
-opdx399      17719 29-Nov-1999 1621Z opdx400      19600 29-Nov-1999 1621Z
-opdx401      27738 29-Nov-1999 1621Z opdx402      18698 29-Nov-1999 1621Z
-opdx403      24994 29-Nov-1999 1621Z opdx404      15685 29-Nov-1999 1621Z
-opdx405      13984 29-Nov-1999 1621Z opdx405.1     4166 29-Nov-1999 1621Z
-opdx406      28934 29-Nov-1999 1621Z opdx407      24153 29-Nov-1999 1621Z
-opdx408      15081 29-Nov-1999 1621Z opdx409      23234 29-Nov-1999 1621Z
-Press Enter to continue, A to abort (16 lines) >
+dbimport oblast /tmp/OBLAST.FUL
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>You can now read any file in this directory using the type command, like this ....
+<P>This will update the existing local oblast database or create it if
+it does not exist.
+<P>
+<H2><A NAME="ss6.3">6.3 Checking available databases</A>
+</H2>
+
+<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>
-type bulletins/opdx391
-Ohio/Penn DX Bulletin No. 391
-The Ohio/Penn Dx PacketCluster
-DX Bulletin No. 391
-BID: $OPDX.391
-January 11, 1999
-Editor Tedd Mirgliotta, KB8NW
-Provided by BARF-80 BBS Cleveland, Ohio
-Online at 440-237-8208 28.8k-1200 Baud 8/N/1 (New Area Code!)
-Thanks to the Northern Ohio Amateur Radio Society, Northern Ohio DX
-Association, Ohio/Penn PacketCluster Network, K1XN &amp; Golist, WB2RAJ/WB2YQH
-&amp; The 59(9) DXReport, W3UR &amp; The Daily DX, K3TEJ, KN4UG, W4DC, NC6J, N6HR,
-Press Enter to continue, A to abort (508 lines) >
+dbavail
+DB Name          Location   Chain
+qsl              Local
+buck             GB7ADX
+hftest           GB7DXM
+G0VGS de GB7MBC  3-Feb-2001 1925Z >
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>The page length will of course depend on what you have it set to!
 <P>
-<H2><A NAME="ss6.4">6.4 The Aliases file</A>
+<H2><A NAME="ss6.4">6.4 Looking up databases</A>
 </H2>
 
-<P>You will find a file in /spider/cmd/ called Aliases.  First, copy this file to /spider/local_cmd/Aliases and edit this file.  You will see something like this ...
+<P>To look for information in a defined database, simply use the <EM>dbshow</EM>
+command, for example ...
 <P>
 <BLOCKQUOTE><CODE>
 <PRE>
-
-#!/usr/bin/perl
-
-# provide some standard aliases for commands for terminally
-# helpless ak1a user (helpless in the sense that they never
-# read nor understand help files)
-
-# This file is automagically reloaded if its modification time is 
-# later than the one stored in CmdAlias.pm
-
-# PLEASE make this file consistant with reality! (the patterns MUST
-# match the filenames!)
-
-# Don't alter this file, copy it into the local_cmd tree and modify it.
-# This file will be replaced everytime I issue a new release.
-
-# You only need to put aliases in here for commands that don't work as
-# you desire naturally, e.g sh/dx on its own just works as you expect
-# so you need not add it as an alias.
-
-
-
-package CmdAlias;
-
-%alias = (
-    '?' => [
-          '^\?', 'apropos', 'apropos',
-        ],
-    'a' => [
-          '^ann.*/full', 'announce full', 'announce', 
-          '^ann.*/sysop', 'announce sysop', 'announce',
-          '^ann.*/(.*)$', 'announce $1', 'announce',
-        ],
-        'b' => [
-        ],
-        'c' => [
-        ],
-        'd' => [
-          '^del', 'kill', 'kill',
-          '^del\w*/fu', 'kill full', 'kill',
-          '^di\w*/a\w*', 'directory all', 'directory',
-          '^di\w*/b\w*', 'directory bulletins', 'directory',
-          '^di\w*/n\w*', 'directory new', 'directory',
-          '^di\w*/o\w*', 'directory own', 'directory',
-          '^di\w*/s\w*', 'directory subject', 'directory',
-          '^di\w*/t\w*', 'directory to', 'directory',
-          '^di\w*/f\w*', 'directory from', 'directory',
-          '^di\w*/(\d+)', 'directory $1', 'directory',
-        ],
-        'e' => [
-        ],
-        'f' => [
-        ],
-        'g' => [
-        ],
-        'h' => [
-        ],
-        'i' => [
-        ],
-        'j' => [
-        ],
-        'k' => [
-        ],
-        'l' => [
-          '^l$', 'directory', 'directory',
-          '^ll$', 'directory', 'directory',
-          '^ll/(\d+)', 'directory $1', 'directory',
-        ],
-        'm' => [
-        ],
-        'n' => [
-          '^news', 'type news', 'type',
-        ],
-        'o' => [
-        ],
-        'p' => [
-        ],
-        'q' => [
-          '^q', 'bye', 'bye',
-        ],
-        'r' => [        
-          '^r$', 'read', 'read',
-          '^rcmd/(\S+)', 'rcmd $1', 'rcmd',
-        ],
-        's' => [
-          '^s/p$', 'send', 'send',
-          '^sb$', 'send noprivate', 'send',
-          '^set/home$', 'set/homenode', 'set/homenode',
-          '^set/nobe', 'unset/beep', 'unset/beep',
-          '^set/nohe', 'unset/here', 'unset/here',
-          '^set/noan', 'unset/announce', 'unset/announce',
-          '^set/nodx', 'unset/dx', 'unset/dx',
-          '^set/nota', 'unset/talk', 'unset/talk',
-          '^set/noww', 'unset/wwv', 'unset/wwv',
-          '^set/nowx', 'unset/wx', 'unset/wx',
-          '^sh$', 'show', 'show',
-          '^sh\w*/buck', 'dbshow buck', 'dbshow',
-          '^sh\w*/bu', 'show/files bulletins', 'show/files',
-          '^sh\w*/c/n', 'show/configuration nodes', 'show/configuration',
-          '^sh\w*/c$', 'show/configuration', 'show/configuration',
-          '^sh\w*/com', 'dbavail', 'dbavail',
-          '^sh\w*/dx/(\d+)-(\d+)', 'show/dx $1-$2', 'show/dx',
-          '^sh\w*/dx/(\d+)', 'show/dx $1', 'show/dx',
-          '^sh\w*/dx/d(\d+)', 'show/dx from $1', 'show/dx',
-          '^sh\w*/email', 'dbshow email', 'dbshow',
-          '^sh\w*/hftest', 'dbshow hftest', 'dbshow',
-          '^sh\w*/vhftest', 'dbshow vhftest', 'dbshow',
-          '^sh\w*/qsl', 'dbshow qsl', 'dbshow',
-          '^sh\w*/tnc', 'who', 'who',
-      '^sh\w*/up', 'show/cluster', 'show/cluster',
-          '^sh\w*/w\w*/(\d+)-(\d+)', 'show/wwv $1-$2', 'show/wwv',
-          '^sh\w*/w\w*/(\d+)', 'show/wwv $1', 'show/wwv',
-          '^sp$', 'send', 'send',
-        
-    ],
-        't' => [
-          '^ta$', 'talk', 'talk',
-          '^t$', 'talk', 'talk',
-        ],
-        'u' => [
-        ],
-        'v' => [
-        ],
-        'w' => [
-          '^wx/full', 'wx full', 'wx',
-          '^wx/sysop', 'wx sysop', 'wx',
-        ],
-        'x' => [
-        ],
-        'y' => [
-        ],
-        'z' => [
-        ],
-)
+dbshow buckmaster G0YLM
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>You can create aliases for commands at will.  Beware though, these may not always turn out as you think.  Care is needed and you need to test the results once you have set an alias.
-<P>
-<H2><A NAME="ss6.5">6.5 Forward.pl</A>
-</H2>
-
-<P>DXSpider receives all and any mail sent to it without any alterations needed
-in files.  Because personal and bulletin mail are treated differently, there
-is no need for a list of accepted bulletin addresses.  It is necessary, however,
-to tell the program which links accept which bulletins.  For example, it is
-pointless sending bulletins addresses to "UK" to any links other than UK
-ones.  The file that does this is called forward.pl and lives in /spider/msg.
-At default, like other spider files it is named forward.pl.issue.  Rename it
-to forward.pl and edit the file to match your requirements.
-The format is below ...
+<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>
-#
-# this is an example message forwarding file for the system
-#
-# The format of each line is as follows
-#
-#     type    to/from/at pattern action  destinations
-#     P/B/F     T/F/A     regex   I/F    [ call [, call ...] ]
-#
-# type: P - private, B - bulletin (msg), F - file (ak1a bull)
-# to/from/at: T - to field, F - from field, A - home bbs, O - origin 
-# pattern: a perl regex on the field requested
-# action: I - ignore, F - forward
-# destinations: a reference to an array containing node callsigns
-#
-# if it is non-private and isn't in here then it won't get forwarded 
-#
-# Currently only type B msgs are affected by this code.
-# 
-# The list is read from the top down, the first pattern that matches
-# causes the action to be taken.
-#
-# The pattern can be undef or 0 in which case it will always be selected
-# for the action specified
-#
-# If the BBS list is undef or 0 and the action is 'F' (and it matches the
-# pattern) then it will always be forwarded to every node that doesn't have 
-# it (I strongly recommend you don't use this unless you REALLY mean it, if
-# you allow a new link with this on EVERY bull will be forwarded immediately
-# on first connection)
-#
-
-package DXMsg;
-
-@forward = (
-'B',    'T',    'LOCAL',        'F',    [ qw(GB7MBC) ],
-'B',    'T',    'ALL',          'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
-'B',    'T',    'UK',           'F',    [ qw(GB7BAA GB7ADX) ],
-'B',    'T',    'QSL',          'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
-'B',    'T',    'QSLINF',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
-'B',    'T',    'DX',           'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
-'B',    'T',    'DXINFO',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
-'B',    'T',    'DXNEWS',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
-'B',    'T',    'DXQSL',        'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
-'B',    'T',    'SYSOP',        'F',    [ qw(GB7BAA GB7ADX) ],
-'B',    'T',    '50MHZ',        'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
-);
+'^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>Simply insert a bulletin address and state in the brackets where you wish
-that mail to go.  For example, you can see here that mail sent to "UK" will
-only be sent to the UK links and not to PA4AB-14.
-<P>
-<P>To force the cluster to reread the file use load/forward
+<P>Now you can simply use show/buckmaster or an abreviation.
 <P>
-<H2><A NAME="ss6.6">6.6 Distribution lists</A>
+<H2><A NAME="ss6.5">6.5 Removing databases</A>
 </H2>
 
-<P>Distribution lists are simply a list of users to send certain types of
-mail to.  An example of this is mail you only wish to send to other
-sysops.  In /spider/msg there is a directory called <EM>distro</EM>.  You
-put any distibution lists in here.  For example, here is a file called
-SYSOP.pl that caters for the UK sysops.
+<P>To delete an existing database you use the <EM>dbremove</EM> command.
+For example ...
 <P>
 <BLOCKQUOTE><CODE>
 <PRE>
-qw(GB7TLH GB7DJK GB7DXM GB7CDX GB7BPQ GB7DXN GB7MBC GB7MBC-6 GB7MDX
-   GB7NDX GB7SDX GB7TDX GB7UDX GB7YDX GB7ADX GB7BAA GB7DXA GB7DXH 
-   GB7DXK GB7DXI GB7DXS)
+dbremove oblast
 </PRE>
 </CODE></BLOCKQUOTE>
-<P>Any mail sent to "sysop" would only be sent to the callsigns in this list.
-<P>
-<H2><A NAME="ss6.7">6.7 Console.pl</A>
-</H2>
-
-<P>In later versions of Spider a simple console program is provided for the sysop.  This has a type ahead buffer with line editing facilities and colour for spots, announces etc.
-To use this program, simply use console.pl instead of client.pl.
-<P>
-<P>To edit the colours, copy /spider/perl/Console.pl to /spider/local and edit the file with your favourite editor.
+<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-7.html">Next</A>