Next Previous Contents

4. Automating things

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.

4.1 Autostarting the cluster

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.

Login as root and bring up the /etc/inittab file in your favourite editor. Add the following lines to the file near the end ...

##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

This line works fine for RedHat distributions. It is also fine for SuSE up to 7.0. From Suse 7.1 you need to add runlevels 2 and 5 like this ...

DX:235:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7

The line required for Slackware distributions is slightly different. My thanks to Aurelio, PA3EZL for this information.

DX:23:respawn:/bin/su - sysop -c "/usr/bin/perl -w /spider/perl/cluster.pl" >/dev/tty7

This will automatically start DXSpider on tty7 (ALT-F7) on bootup and restart it should it crash for any reason.

As root type the command telinit q. DXSpider should start up immediately. You will see the output on tty7 and if you login as sysop you should find everything running nicely.

So far so good, now to automate script connections...

4.2 The crontab file

Login as sysop 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)

# 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')

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.

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 DXSpider website at the cron page where it is explained more fully.


Next Previous Contents