Running more than one instance of DXSpider
Sometimes you may need to run more than one instance of DXSpider on the same machine. The information below should help you achieve that.
Although you don't need to create a new user it makes some things slightly easier.
- create a new user (say sysop2)
- login (or su or sudo bash) to root
- cd ~sysop2
- mkdir spider
- cd /spider
- cp -a * ~sysop2/spider
- cd ~sysop2
- chown -R sysop2:sysop2 spider
- vi /etc/inittab
- copy the line:
sp:2345:respawn:su -c "perl /spider/perl/cluster.pl > /dev/null 2>&1" sysop
and change that second (new) line to
sq:2345:respawn:su -c "DXSPIDER_ROOT=/home/sysop2/spider perl $DXSPIDER_ROOT/perl/cluster.pl > /dev/null 2>&1" sysop2
so that you now have *two* lines where there was one.
- now login as sysop2
- firstly # out anything you have in spider/local_cmd/crontab (so you don't try to connect to the same things as the first node with the same callsign).
- now edit your spider/local/DXVars.pm so that its $mycall and $myalias are different from your other node (different SSIDs) and, as you have suggested, change your $clusterport to 27755 or something other than 27754.
- edit your .bashrc and add
to the end of the file.
- logout and login as sysop2 again (VERY IMPORTANT)
- echo $DXSPIDER_ROOT
- check that a) get an answer and b) it is "/home/sysop2/spider" otherwise repeat from the "edit your .bashrc" stage again.
- cd spider/perl
- edit spider/local/Listeners.pm
- you either need to change the ['0.0.0.0', 7300] to say ['0.0.0.0, 7301] or use specific (different) IP addresses for each instance instead of '0.0.0.0'.
you can now check whether it comes up OK by
You should see it launch and not complain about lock files and such.
Now you can either stop it, login as root, run 'telinit q' or just reboot.
You will need to clean up your connect scripts. Make sure that the callsign you login as (to other nodes) is the new one with the new SSID.
If you use the curses based console program then it will automatically login to the correct node depending on what you login as.