Next Previous Contents

7. Sysop commands

Most maintenance tasks are automatic but there are some commands that are useful for a sysop. These are listed below in alphabetical order. The number in brackets following the command name is the permissions level needed to use the command.

7.1 announce sysop (5)

announce sysop <text>

Send an announcement to Sysops only

7.2 connect (5)

connect <callsign> Start a connection to another DX Cluster

Start a connection process that will culminate in a new connection to the DX cluster <callsign>. This process creates a new 'client' process which will use the script in /spider/connect/<callsign> to effect the 'chat' exchange necessary to traverse the network(s) to logon to the cluster <callsign>.

7.3 catch (9)

<node_call> All [<msgno> ...] Mark a message as sent

When you send messages the fact that you have forwarded it to another node is remembered so that it isn't sent again. When you have a new partner node and you add their callsign to your /spider/msg/forward.pl file, all outstanding non-private messages will be forwarded to them. This may well be ALL the non-private messages. You can prevent this by using these commmands:-

catch GB7DJK all catch GB7DJK 300 301 302 303

and to undo what you have just done:-

uncatch GB7DJK all uncatch GB7DJK 300 301 302 303

which will arrange for them to be forward candidates again.

7.4 dbcreate (9)

dbcreate <name> Create a database entry
dbcreate <name> chain <name> [<name>..] Create a chained database entry
dbcreate <name> remote <node> Create a remote database entry

DBCREATE allows you to define a database in the system. It doesn't actually create anything, just defines it.

The databases that are created are simple DB_File hash databases, they are therefore already 'indexed'.

You can define a local database with the first form of the command eg:

DBCREATE oblast

You can also chain databases with the addition of the 'chain' keyword. This will search each database one after the other. A typical example is:

DBCREATE sdx_qsl chain sql_ad

No checking is done to see if the any of the chained databases exist, in fact it is usually better to do the above statement first then do each of the chained databases.

Databases can exist offsite. To define a database that lives on another node do:

DBCREATE buckmaster remote gb7dxc

Remote databases cannot be chained; however, the last database in a a chain can be a remote database eg:

DBCREATE qsl chain gb7dxc

To see what databases have been defined do:

DBAVAIL (or it will have been aliased to SHOW/COMMAND)

It would be normal for you to add an entry into your local Aliases file to allow people to use the 'SHOW/<dbname>' style syntax. So you would need to add a line like:-

  's' => [
    ..
    ..
    '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
    ..
    ..
   ],

to allow

SH/BUCK g1tlh

to work as they may be used to.

See DBIMPORT for the importing of existing AK1A format data to databases. See DBSHOW for generic database enquiry

7.5 dbimport (9)

dbimport <dbname> Import AK1A data into a database

If you want to import or update data in bulk to a database you can use this command. It will either create or update entries into an existing database. For example:-

DBIMPORT oblast /tmp/OBLAST.FUL

will import the standard OBLAST database that comes with AK1A into the oblast database held locally.

7.6 dbremove (9)

dbremove <dbname> Delete a database

DBREMOVE will completely remove a database entry and also delete any data file that is associated with it.

There is no warning, no comeback, no safety net.

For example:

DBREMOVE oblast

will remove the oblast database from the system and it will also remove the associated datafile.

I repeat:

There is no warning, no comeback, no safety net.

You have been warned.

7.7 debug (9)

debug Set the cluster program into debug mode

Executing this command will only have an effect if you are running the cluster in debug mode i.e.

        perl -d cluster.pl

It will interrupt the cluster just after the debug command has finished.

7.8 directory (5)

Works just like the user command except that sysops can see ALL messages.

7.9 disconnect (8)

disconnect <call> [<call> ...] Disconnect a user or node

Disconnect any <call> connected locally

7.10 export (9)

export <msgno> <filename> Export a message to a file

Export a message to a file. This command can only be executed on a local console with a fully privileged user. The file produced will be in a form ready to be imported back into the cluster by placing it in the import directory (/spider/msg/import).

This command cannot overwrite an existing file. This is to provide some measure of security. Any files written will owned by the same user as the main cluster, otherwise you can put the new files anywhere the cluster can access. For example:-

EXPORT 2345 /tmp/a

7.11 forward/opername (1)

forward/opername <call> Send out information on this <call> to all clusters

This command sends out any information held in the user file which can be broadcast in PC41 protocol packets. This information is Name, QTH, Location and Homenode. PC41s are only sent for the information that is available.

7.12 init (5)

init <node call> Re-initialise a link to an AK1A compatible node

This command attempts to re-initialise a link to a (usually) AK1A node that has got confused, usually by a protocol loop of some kind. It may work - but you usually will be better off simply disconnecting it (or better, if it is a real AK1A node, doing an RCMD <node> DISC/F <your node>).

Best of luck - you will need it.

7.13 kill (5)

kill <msgno> [<msgno> ...] Remove or erase a message from the system
kill from <call> Remove all messages from a callsign
kill to <call> Remove all messages to a callsign

You can get rid of any message to or originating from your callsign using this command. You can remove more than one message at a time.

As a sysop you can kill any message on the system.

7.14 kill full (5) kill full <msgno> [<msgno>] Delete a message from the whole cluster

Delete a message (usually a 'bulletin') from the whole cluster system.

This uses the subject field, so any messages that have exactly the same subject will be deleted. Beware!

7.15 load/aliases (9)

load/aliases Reload the command alias table

Reload the /spider/cmd/Aliases file after you have editted it. You will need to do this if you change this file whilst the cluster is running in order for the changes to take effect.

7.16 load/bands (9)

load/bands Reload the band limits table

Reload the /spider/data/bands.pl file if you have changed it manually whilst the cluster is running.

7.17 load/cmd_cache (9)

load/cmd_cache Reload the automatic command cache

Normally, if you change a command file in the cmd or local_cmd tree it will automatially be picked up by the cluster program. Sometimes it can get confused if you are doing a lot of moving commands about or delete a command in the local_cmd tree and want to use the normal one again. Execute this command to reset everything back to the state it was just after a cluster restart.

7.18 load/messages (9)

load/messages Reload the system messages file

If you change the /spider/perl/Messages file (usually whilst fiddling/writing ne commands) you can have them take effect during a cluster session by executing this command. You need to do this if get something like :-

unknown message 'xxxx' in lang 'en'

7.19 load/prefixes (9)

load/prefixes Reload the prefix table

Reload the /spider/data/prefix_data.pl file if you have changed it manually whilst the cluster is running.

7.20 merge (5)

merge <node> [<no spots>/<no wwv>] Ask for the latest spots and WWV

MERGE allows you to bring your spot and wwv database up to date. By default it will request the last 10 spots and 5 WWVs from the node you select. The node must be connected locally.

You can request any number of spots or wwv and although they will be appended to your databases they will not duplicate any that have recently been added (the last 2 days for spots and last month for WWV data).

7.21 msg (9)

msg <cmd> <msgno> [data ...] Alter various message parameters

Alter message parameters like To, From, Subject, whether private or bulletin or return receipt (RR) is required or whether to keep this message from timing out.

  MSG TO <msgno> <call>     - change TO callsign to <call>
  MSG FRom <msgno> <call>   - change FROM callsign to <call>
  MSG PRrivate <msgno>      - set private flag
  MSG NOPRrivate <msgno>    - unset private flag
  MSG RR <msgno>            - set RR flag
  MSG NORR <msgno>          - unset RR flag
  MSG KEep <msgno>          - set the keep flag (message won't be deleted ever)
  MSG NOKEep <msgno>        - unset the keep flag
  MSG SUbject <msgno> <new> - change the subject to <new>
  MSG WAittime <msgno>      - remove any waitting time for this message
  MSG NOREad <msgno>        - mark message as unread
  MSG REad <msgno>          - mark message as read
  MSG QUeue                 - queue any outstanding bulletins
  MSG QUeue 1               - queue any outstanding private messages

You can look at the status of a message by using:-

STAT/MSG <msgno>

This will display more information on the message than DIR does.

7.22 pc (8)

pc <call> <text> Send text (eg PC Protocol) to <call>

Send some arbitrary text to a locally connected callsign. No processing is done on the text. This command allows you to send PC Protocol to unstick things if problems arise (messages get stuck etc). eg:-

pc gb7djk PC33^GB7TLH^GB7DJK^400^

You can also use in the same way as a talk command to a connected user but without any processing, added of "from <blah> to <blah>" or whatever.

pc G1TLH Try doing that properly!!!

7.23 ping (1)

ping <node> Send a ping command to another cluster node

This command is used to estimate the quality of the link to another cluster. The time returned is the length of time taken for a PC51 to go to another cluster and be returned.

Any visible cluster node can be PINGed.

7.24 rcmd (1)

rcmd <node call> <cmd> Send a command to another DX cluster

This command allows you to send nearly any command to another DX Cluster node that is connected to the system.

Whether you get any output is dependant on a) whether the other system knows that the node callsign of this cluster is in fact a node b) whether the other system is allowing RCMDs from this node and c) whether you have permission to send this command at all.

7.25 read (5)

read <msgno> Read a message on the system

As a sysop you may read any message on the system

7.26 set/debug (9)

set/debug <name> Add a debug level to the debug set

You can remove this level with unset/debug <name>

7.27 set/isolate (9)

set/isolate <node call> Isolate a node from the rest of the network

Connect a node to your system in such a way that you are a full protocol member of its network and can see all spots on it, but nothing either leaks out from it nor goes back into from the rest of the nodes connected to you.

You can potentially connect several nodes in this way.

You can see which nodes are isolated with the show/isolate (1) command.

You can remove the isolation with the command unset/isolate.

7.28 set/sys_location (9)

set/sys_location <lat & long> Set your cluster latitude and longitude

In order to get accurate headings and such like you must tell the system what your latitude and longitude is. If you have not yet done a SET/QRA then this command will set your QRA locator for you. For example:-

SET/LOCATION 52 22 N 0 57 E

7.29 set/lockout (9)

set/lockout <call> Stop a callsign connecting to the cluster

You can show who is locked out with the show/lockout (9) command.

To allow the user to connect again, use the command unset/lockout

7.30 set/node (9)

set/node <call> [<call> ...] Make the callsign an AK1A cluster

Tell the system that the call(s) are to be treated as AK1A cluster and fed PC Protocol rather normal user commands.

From version 1.41 you can also set the following types of cluster

set/spider
set/dxnet
set/clx
set/arcluster

To see what your nodes are set to, use the show/nodes command.

7.31 set/obscount (9)

set/obscount <count> <node call> Set the 'pump-up' obscelence counter

From version 1.35 onwards neighbouring nodes are pinged at regular intervals (see SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up' counter which is decremented on every outgoing ping and then reset to the 'obscount' value on every incoming ping. The default value of this parameter is 2.

What this means is that a neighbouring node will be pinged twice at (default) 300 second intervals and if no reply has been heard just before what would be the third attempt, that node is disconnected.

If a ping is heard then the obscount is reset to the full value. Using default values, if a node has not responded to a ping within 15 minutes, it is disconnected.

7.32 set/pinginterval (9)

set/pinginterval <time> <node call> Set the ping time to neighbouring nodes

As from version 1.35 all neighbouring nodes are pinged at regular intervals in order to determine the rolling quality of the link and, in future, to affect routing decisions. The default interval is 300 secs or 5 minutes.

You can use this command to set a different interval. Please don't.

But if you do the value you enter is treated as minutes up 60 and seconds for numbers greater than that.

This is used also to help determine when a link is down at the far end (as certain cluster software doesn't always notice), see SET/OBSCOUNT for more information.

7.33 set/privilege (9)

set/privilege <n> <call> [<call> ...] Set the privilege level on a call

Set the privilege level on a callsign. The privilege levels that pertain to commands are as default:-

  0 - normal user
  1 - allow remote nodes normal user RCMDs
  5 - various privileged commands (including shutdown, but not disc-
      connect), the normal level for another node.
  8 - more privileged commands (including disconnect)
  9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
      LEVEL.

If you are a sysop and you come in as a normal user on a remote connection your privilege will automatically be set to 0.

7.34 set/password (9)

set/password <callsign> <string> Set a users password

The password for a user can only be set by a full sysop. The string can contain any characters but any spaces are removed (you can type in spaces - but they won't appear in the password). You can see the result with STAT/USER. The password is the usual 30 character baycom type password.

7.35 set/sys_qra (9)

set/sys_qra <locator> Set your cluster QRA locator

7.36 show program (5)

show/program Show the locations of all the included program modules

Show the name and location where every program module was load from. This is useful for checking where you think you have loaded a .pm file from.

7.37 shutdown (5)

shutdown Shutdown the cluster

Shutdown the cluster and disconnect all the users. If you have Spider set to respawn in /etc/inittab it will of course restart.

7.38 spoof (9)

spoof <callsign> <command> Run commands as another user

This is a very simple yet powerful command for the sysop. It allows you to issue commands as if you were a different user. This is very useful for the kind of things that users seem to always get wrong.. like home_node for example.

7.39 stat/db (5)

stat/db <dbname> Show the status of a database

Show the internal status of a database descriptor.

Depending on your privilege level you will see more or less information. This command is unlikely to be of much use to anyone other than a sysop.

7.40 stat/channel (5)

stat/channel <callsign> Show the status of a channel on the cluster

Show the internal status of the channel object either for the channel that you are on or else for the callsign that you asked for.

Only the fields that are defined (in perl term) will be displayed.

7.41 stat/msg (5)

stat/msg <msgno> Show the status of a message

This command shows the internal status of a message and includes information such as to whom it has been forwarded, its size, origin etc etc.

7.42 stat/user (5)

stat/user <callsign> Show the full status of a user

Shows the full contents of a user record including all the secret flags and stuff.

Only the fields that are defined (in perl term) will be displayed.


Next Previous Contents