<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: Scripts</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. Scripts</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>From 1.48 onwards it will become increasingly possible to control DXSpider's
+operation with scripts of various kinds.
<P>
-<H2><A NAME="ss4.1">4.1 Autostarting the cluster</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>
-<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 ...
-<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
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>This will automatically start DXSpider on tty7 (ALT-F7) on bootup and restart
-it should it crash for any reason.
-<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.
+<P>In the first instance, in 1.48, the sysop can create, with their favorite
+text editor, files in the directory <EM>/spider/scripts</EM> which contain
+any legal command for a callsign or class of connection which will be executed
+at logon.
<P>
-<P>So far so good, now to automate script connections...
+<P>
+The filename is the callsign of the connection that you want the script to
+operate on, eg: <EM>/spider/scripts/g1tlh</EM>. The filenames are always in
+lower case on those architectures where this makes a difference.
<P>
-<H2><A NAME="ss4.2">4.2 The crontab file</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>In addition to the callsign specific scripts there are three others:-
<P>
<BLOCKQUOTE><CODE>
<PRE>
-# check every 10 minutes to see if gb7xxx is connected and if not
-# start a connect job going
-
-0,10,20,30,40,50 * * * * start_connect('gb7xxx') if !connected('gb7xxx')
+startup
+user_default
+node_default
</PRE>
</CODE></BLOCKQUOTE>
+<P>The <EM>startup</EM> script is executed immediately after all
+initialisation of the node is done, but before any connections are
+possible.
+<P>
+<P>The <EM>user_default</EM> script is executed for every user that does
+<B>NOT</B> already have a specific script.
<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.
+<P>The <EM>node_default</EM> script is executed for every node that doesn't
+have a specific script.
<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.
+<P>There are a couple of examples in the <EM>/spider/scripts</EM> directory.
<P>
<HR>
<A HREF="adminmanual-5.html">Next</A>