added new version fo the admin manual
[spider.git] / html / adminmanual-7.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2 <HTML>
3 <HEAD>
4  <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
5  <TITLE>The DXSpider Installation and Administration Manual : Sysop commands</TITLE>
6  <LINK HREF="adminmanual-6.html" REL=previous>
7  <LINK HREF="adminmanual.html#toc7" REL=contents>
8 </HEAD>
9 <BODY>
10 Next
11 <A HREF="adminmanual-6.html">Previous</A>
12 <A HREF="adminmanual.html#toc7">Contents</A>
13 <HR>
14 <H2><A NAME="s7">7. Sysop commands</A></H2>
15
16 <P>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.
17 <P>
18 <H2><A NAME="ss7.1">7.1 announce sysop (5)</A>
19 </H2>
20
21 <P><CODE><B>announce sysop &lt;text&gt;</B></CODE>
22 <P>
23 <P>Send an announcement to Sysops only
24 <P>
25 <H2><A NAME="ss7.2">7.2 connect (5) </A>
26 </H2>
27
28 <P><CODE><B>connect &lt;callsign&gt;</B> Start a connection to another DX Cluster</CODE>
29 <P>
30 <P>Start a connection process that will culminate in a new connection to the
31 DX cluster &lt;callsign&gt;. This process creates a new 'client' process which will
32 use the script in /spider/connect/&lt;callsign&gt; to effect the 'chat' exchange
33 necessary to traverse the network(s) to logon to the cluster &lt;callsign&gt;.
34 <P>
35 <P>
36 <H2><A NAME="ss7.3">7.3 catch (9) </A>
37 </H2>
38
39 <P><CODE><B>&lt;node_call&gt; All [&lt;msgno&gt; ...]</B> Mark a message as sent</CODE>
40 <P>
41 <P>When you send messages the fact that you have forwarded it to another node 
42 is remembered so that it isn't sent again. When you have a new partner
43 node and you add their callsign to your /spider/msg/forward.pl file, all
44 outstanding non-private messages will be forwarded to them. This may well
45 be ALL the non-private messages. You can prevent this by using these 
46 commmands:-
47 <P>catch GB7DJK all
48 catch GB7DJK 300 301 302 303
49 <P>and to undo what you have just done:-
50 <P>uncatch GB7DJK all
51 uncatch GB7DJK 300 301 302 303
52 <P>which will arrange for them to be forward candidates again.
53 <P>
54 <H2><A NAME="ss7.4">7.4 dbcreate (9)</A>
55 </H2>
56
57 <P><CODE><B>dbcreate &lt;name&gt;</B> Create a database entry<BR>
58 <B>dbcreate &lt;name&gt; chain &lt;name&gt; [&lt;name&gt;..]</B> Create a chained database entry<BR>
59 <B>dbcreate &lt;name&gt; remote &lt;node&gt;</B> Create a remote database entry<BR></CODE>
60 <P>
61 <P>DBCREATE allows you to define a database in the system. It doesn't actually
62 create anything, just defines it.
63 <P>The databases that are created are simple DB_File hash databases, they are 
64 therefore already 'indexed'.
65 <P>You can define a local database with the first form of the command eg:
66 <P>DBCREATE oblast
67 <P>You can also chain databases with the addition of the 'chain' keyword. 
68 This will search each database one after the other. A typical example 
69 is:
70 <P>DBCREATE sdx_qsl chain sql_ad
71 <P>No checking is done to see if the any of the chained databases exist, in
72 fact it is usually better to do the above statement first then do each of
73 the chained databases.
74 <P>Databases can exist offsite. To define a database that lives on another 
75 node do:
76 <P>DBCREATE buckmaster remote gb7dxc
77 <P>Remote databases cannot be chained; however, the last database in a 
78 a chain can be a remote database eg:
79 <P>DBCREATE qsl chain gb7dxc
80 <P>To see what databases have been defined do:
81 <P>DBAVAIL (or it will have been aliased to SHOW/COMMAND)
82 <P>It would be normal for you to add an entry into your local Aliases file
83 to allow people to use the 'SHOW/&lt;dbname&gt;' style syntax. So you would
84 need to add a line like:-
85 <P>
86 <BLOCKQUOTE><CODE>
87 <PRE>
88   's' => [
89     ..
90     ..
91     '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
92     ..
93     ..
94    ],
95 </PRE>
96 </CODE></BLOCKQUOTE>
97 <P>to allow 
98 <P>SH/BUCK g1tlh
99 <P>to work as they may be used to.
100 <P>See DBIMPORT for the importing of existing AK1A format data to databases.
101 See DBSHOW for generic database enquiry
102 <P>
103 <H2><A NAME="ss7.5">7.5 dbimport (9)</A>
104 </H2>
105
106 <P><CODE><B>dbimport &lt;dbname&gt;</B> Import AK1A data into a database</CODE>
107 <P>
108 <P>If you want to import or update data in bulk to a database you can use
109 this command. It will either create or update entries into an existing
110 database. For example:-
111 <P>DBIMPORT oblast /tmp/OBLAST.FUL
112 <P>will import the standard OBLAST database that comes with AK1A into the
113 oblast database held locally.
114 <P>
115 <H2><A NAME="ss7.6">7.6 dbremove (9)</A>
116 </H2>
117
118 <P><CODE><B>dbremove &lt;dbname&gt;</B> Delete a database</CODE>
119 <P>
120 <P>DBREMOVE will completely remove a database entry and also delete any data
121 file that is associated with it. 
122 <P>There is no warning, no comeback, no safety net. 
123 <P>For example:
124 <P>DBREMOVE oblast 
125 <P>will remove the oblast database from the system and it will also remove
126 the associated datafile.
127 <P>I repeat:
128 <P>There is no warning, no comeback, no safety net.
129 <P>You have been warned.
130 <P>
131 <H2><A NAME="ss7.7">7.7 debug (9)</A>
132 </H2>
133
134 <P><CODE><B>debug</B> Set the cluster program into debug mode</CODE>
135 <P>
136 <P>Executing this command will only have an effect if you are running the cluster
137 in debug mode i.e.
138 <P>
139 <BLOCKQUOTE><CODE>
140 <PRE>
141         perl -d cluster.pl
142 </PRE>
143 </CODE></BLOCKQUOTE>
144 <P>It will interrupt the cluster just after the debug command has finished.
145 <P>
146 <H2><A NAME="ss7.8">7.8 directory (5)</A>
147 </H2>
148
149 <P>Works just like the user command except that sysops can see ALL messages.
150 <P>
151 <H2><A NAME="ss7.9">7.9 disconnect (8)</A>
152 </H2>
153
154 <P><CODE><B>disconnect &lt;call&gt; [&lt;call&gt; ...]</B> Disconnect a user or node</CODE>
155 <P>
156 <P>Disconnect any &lt;call&gt; connected locally
157 <P>
158 <H2><A NAME="ss7.10">7.10 export (9)</A>
159 </H2>
160
161 <P><CODE><B>export &lt;msgno&gt; &lt;filename&gt;</B> Export a message to a file</CODE>
162 <P>
163 <P>Export a message to a file. This command can only be executed on a local
164 console with a fully privileged user. The file produced will be in a form
165 ready to be imported back into the cluster by placing it in the import 
166 directory (/spider/msg/import).
167 <P>This command cannot overwrite an existing file. This is to provide some 
168 measure of security. Any files written will owned by the same user as the 
169 main cluster, otherwise you can put the new files anywhere the cluster can
170 access. For example:-
171 <P>EXPORT 2345 /tmp/a
172 <P>
173 <H2><A NAME="ss7.11">7.11 forward/opername (1)</A>
174 </H2>
175
176 <P><CODE><B>forward/opername &lt;call&gt;</B> Send out information on this &lt;call&gt; to all clusters</CODE>
177 <P>
178 <P>This command sends out any information held in the user file which can 
179 be broadcast in PC41 protocol packets. This information is Name, QTH, Location
180 and Homenode. PC41s are only sent for the information that is available.
181 <P>
182 <H2><A NAME="ss7.12">7.12 init (5)</A>
183 </H2>
184
185 <P><CODE><B>init &lt;node call&gt;</B>  Re-initialise a link to an AK1A compatible node</CODE>
186 <P>
187 <P>This command attempts to re-initialise a link to a (usually) AK1A node
188 that has got confused, usually by a protocol loop of some kind. It may
189 work - but you usually will be better off simply disconnecting it (or
190 better, if it is a real AK1A node, doing an RCMD &lt;node&gt; DISC/F &lt;your
191 node&gt;).
192 <P>Best of luck - you will need it.
193 <P>
194 <H2><A NAME="ss7.13">7.13 kill (5)</A>
195 </H2>
196
197 <P><CODE><B>kill &lt;msgno&gt; [&lt;msgno&gt; ...]</B> Remove or erase a message from the system<BR>
198 <B>kill from &lt;call&gt;</B> Remove all messages from a callsign<BR>
199 <B>kill to &lt;call&gt;</B> Remove all messages to a callsign<BR></CODE>
200 <P>
201 <P>You can get rid of any message to or originating from your callsign using 
202 this command. You can remove more than one message at a time.
203 <P>As a sysop you can kill any message on the system.
204 <P>
205 <H2><A NAME="ss7.14">7.14 kill full (5)</A>
206 <CODE><B>kill full &lt;msgno&gt; [&lt;msgno&gt;]</B> Delete a message from the whole cluster</CODE></H2>
207
208 <P>Delete a message (usually a 'bulletin') from the whole cluster system. 
209 <P>This uses the subject field, so any messages that have exactly the same subject
210 will be deleted. Beware!
211 <P>
212 <H2><A NAME="ss7.15">7.15 load/aliases (9)</A>
213 </H2>
214
215 <P><CODE><B>load/aliases</B> Reload the command alias table</CODE>
216 <P>
217 <P>Reload the /spider/cmd/Aliases file after you have editted it. You will need to
218 do this if you change this file whilst the cluster is running in order for the
219 changes to take effect.
220 <P>
221 <H2><A NAME="ss7.16">7.16 load/bands (9)</A>
222 </H2>
223
224 <P><CODE><B>load/bands</B> Reload the band limits table</CODE>
225 <P>
226 <P>Reload the /spider/data/bands.pl file if you have changed it manually whilst
227 the cluster is running. 
228 <P>
229 <H2><A NAME="ss7.17">7.17 load/cmd_cache (9)</A>
230 </H2>
231
232 <P><CODE><B>load/cmd_cache</B> Reload the automatic command cache</CODE>
233 <P>
234 <P>Normally, if you change a command file in the cmd or local_cmd tree it will
235 automatially be picked up by the cluster program. Sometimes it can get confused
236 if you are doing a lot of moving commands about or delete a command in the 
237 local_cmd tree and want to use the normal one again. Execute this command to
238 reset everything back to the state it was just after a cluster restart.
239 <P>
240 <H2><A NAME="ss7.18">7.18 load/messages (9)</A>
241 </H2>
242
243 <P><CODE><B>load/messages</B> Reload the system messages file</CODE>
244 <P>
245 <P>If you change the /spider/perl/Messages file (usually whilst fiddling/writing ne
246 commands) you can have them take effect during a cluster session by executing this
247 command. You need to do this if get something like :-
248 <P>unknown message 'xxxx' in lang 'en'
249 <P>
250 <H2><A NAME="ss7.19">7.19 load/prefixes (9)</A>
251 </H2>
252
253 <P><CODE><B>load/prefixes</B> Reload the prefix table</CODE>
254 <P>
255 <P>Reload the /spider/data/prefix_data.pl file if you have changed it manually whilst
256 the cluster is running. 
257 <P>
258 <H2><A NAME="ss7.20">7.20 merge (5)</A>
259 </H2>
260
261 <P><CODE><B>merge &lt;node&gt; [&lt;no spots&gt;/&lt;no wwv&gt;]</B> Ask for the latest spots and WWV</CODE>
262 <P>
263 <P>MERGE allows you to bring your spot and wwv database up to date. By default
264 it will request the last 10 spots and 5 WWVs from the node you select. The 
265 node must be connected locally.
266 <P>You can request any number of spots or wwv and although they will be appended
267 to your databases they will not duplicate any that have recently been added 
268 (the last 2 days for spots and last month for WWV data).
269 <P>
270 <H2><A NAME="ss7.21">7.21 msg (9)</A>
271 </H2>
272
273 <P><CODE><B>msg &lt;cmd&gt; &lt;msgno&gt; [data ...]</B> Alter various message parameters</CODE>
274 <P>
275 <P>Alter message parameters like To, From, Subject, whether private or bulletin
276 or return receipt (RR) is required or whether to keep this message from timing
277 out.
278 <P>
279 <BLOCKQUOTE><CODE>
280 <PRE>
281   MSG TO &lt;msgno> &lt;call>     - change TO callsign to &lt;call>
282   MSG FRom &lt;msgno> &lt;call>   - change FROM callsign to &lt;call>
283   MSG PRrivate &lt;msgno>      - set private flag
284   MSG NOPRrivate &lt;msgno>    - unset private flag
285   MSG RR &lt;msgno>            - set RR flag
286   MSG NORR &lt;msgno>          - unset RR flag
287   MSG KEep &lt;msgno>          - set the keep flag (message won't be deleted ever)
288   MSG NOKEep &lt;msgno>        - unset the keep flag
289   MSG SUbject &lt;msgno> &lt;new> - change the subject to &lt;new>
290   MSG WAittime &lt;msgno>      - remove any waitting time for this message
291   MSG NOREad &lt;msgno>        - mark message as unread
292   MSG REad &lt;msgno>          - mark message as read
293   MSG QUeue                 - queue any outstanding bulletins
294   MSG QUeue 1               - queue any outstanding private messages
295 </PRE>
296 </CODE></BLOCKQUOTE>
297 <P>You can look at the status of a message by using:-
298 <P>STAT/MSG &lt;msgno&gt;      
299 <P>This will display more information on the message than DIR does.
300 <P>
301 <H2><A NAME="ss7.22">7.22 pc (8)</A>
302 </H2>
303
304 <P><CODE><B>pc &lt;call&gt; &lt;text&gt;</B> Send text (eg PC Protocol) to &lt;call&gt;</CODE>
305 <P>
306 <P>Send some arbitrary text to a locally connected callsign. No processing is done on
307 the text. This command allows you to send PC Protocol to unstick things if problems
308 arise (messages get stuck etc). eg:-
309 <P>pc gb7djk PC33^GB7TLH^GB7DJK^400^
310 <P>You can also use in the same way as a talk command to a connected user but
311 without any processing, added of "from &lt;blah&gt; to &lt;blah&gt;" or whatever.
312 <P>pc G1TLH Try doing that properly!!!
313 <P>
314 <H2><A NAME="ss7.23">7.23 ping (1)</A>
315 </H2>
316
317 <P><CODE><B>ping &lt;node&gt;</B> Send a ping command to another cluster node</CODE>
318 <P>
319 <P>This command is used to estimate the quality of the link to another cluster. 
320 The time returned is the length of time taken for a PC51 to go to another 
321 cluster and be returned.
322 <P>Any visible cluster node can be PINGed.
323 <P>
324 <H2><A NAME="ss7.24">7.24 rcmd (1)</A>
325 </H2>
326
327 <P><CODE><B>rcmd &lt;node call&gt; &lt;cmd&gt;</B> Send a command to another DX cluster</CODE>
328 <P>
329 <P>This command allows you to send nearly any command to another DX Cluster
330 node that is connected to the system. 
331 <P>Whether you get any output is dependant on a) whether the other system knows
332 that the node callsign of this cluster is in fact a node b) whether the
333 other system is allowing RCMDs from this node and c) whether you have
334 permission to send this command at all.
335 <P>
336 <H2><A NAME="ss7.25">7.25 read (5)</A>
337 </H2>
338
339 <P><CODE><B>read &lt;msgno&gt;</B> Read a message on the system</CODE>
340 <P>
341 <P>As a sysop you may read any message on the system
342 <P>
343 <H2><A NAME="ss7.26">7.26 set/debug (9)</A>
344 </H2>
345
346 <P><CODE><B>set/debug &lt;name&gt;</B>Add a debug level to the debug set</CODE>
347 <P>
348 <P>You can remove this level with unset/debug &lt;name&gt;
349 <P>
350 <H2><A NAME="ss7.27">7.27 set/isolate (9)</A>
351 </H2>
352
353 <P><CODE><B>set/isolate &lt;node call&gt;</B> Isolate a node from the rest of the network</CODE>
354 <P>
355 <P>Connect a node to your system in such a way that you are a full protocol
356 member of its network and can see all spots on it, but nothing either leaks
357 out from it nor goes back into from the rest of the nodes connected to you.
358 <P>You can potentially connect several nodes in this way.
359 <P>You can see which nodes are isolated with the show/isolate (1) command.
360 <P>You can remove the isolation with the command unset/isolate.
361 <P>
362 <H2><A NAME="ss7.28">7.28 set/sys_location (9)</A>
363 </H2>
364
365 <P><CODE><B>set/sys_location &lt;lat &amp; long&gt;</B>Set your cluster latitude and longitude</CODE>
366 <P>
367 <P>In order to get accurate headings and such like you must tell the system
368 what your latitude and longitude is. If you have not yet done a SET/QRA
369 then this command will set your QRA locator for you. For example:-
370 <P>SET/LOCATION 52 22 N 0 57 E
371 <P>
372 <H2><A NAME="ss7.29">7.29 set/lockout (9)</A>
373 </H2>
374
375 <P><CODE><B>set/lockout &lt;call&gt;</B>Stop a callsign connecting to the cluster</CODE>
376 <P>
377 <P>You can show who is locked out with the show/lockout (9) command.
378 <P>To allow the user to connect again, use the command unset/lockout
379 <P>
380 <H2><A NAME="ss7.30">7.30 set/node (9)</A>
381 </H2>
382
383 <P><CODE><B>set/node &lt;call&gt; [&lt;call&gt; ...]</B>Make the callsign an AK1A cluster</CODE>
384 <P>
385 <P>Tell the system that the call(s) are to be treated as AK1A cluster and
386 fed PC Protocol rather normal user commands.
387 <P>From version 1.41 you can also set the following types of cluster
388 <P>
389 <PRE>
390 set/spider
391 set/dxnet
392 set/clx
393 set/arcluster
394 </PRE>
395 <P>To see what your nodes are set to, use the show/nodes command.
396 <P>
397 <H2><A NAME="ss7.31">7.31 set/obscount (9)</A>
398 </H2>
399
400 <P><CODE><B>set/obscount &lt;count&gt; &lt;node call&gt;</B> Set the 'pump-up' obscelence counter</CODE>
401 <P>
402 <P>From version 1.35 onwards neighbouring nodes are pinged at regular intervals (see
403 SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
404 counter which is decremented on every outgoing ping and then reset to
405 the 'obscount' value on every incoming ping. The default value of this
406 parameter is 2. 
407 <P>What this means is that a neighbouring node will be pinged twice at 
408 (default) 300 second intervals and if no reply has been heard just before
409 what would be the third attempt, that node is disconnected.
410 <P>If a ping is heard then the obscount is reset to the full value. Using
411 default values, if a node has not responded to a ping within 15 minutes,
412 it is disconnected.
413 <P>
414 <H2><A NAME="ss7.32">7.32 set/pinginterval (9)</A>
415 </H2>
416
417 <P><CODE><B>set/pinginterval &lt;time&gt; &lt;node call&gt;</B> Set the ping time to neighbouring nodes</CODE>
418 <P>
419 <P>As from version 1.35 all neighbouring nodes are pinged at regular intervals
420 in order to determine the rolling quality of the link and, in future, to
421 affect routing decisions. The default interval is 300 secs or 5 minutes.
422 <P>You can use this command to set a different interval. Please don't. 
423 <P>But if you do the value you enter is treated as minutes up 60 and seconds
424 for numbers greater than that.
425 <P>This is used also to help determine when a link is down at the far end
426 (as certain cluster software doesn't always notice), see SET/OBSCOUNT
427 for more information.
428 <P>
429 <H2><A NAME="ss7.33">7.33 set/privilege (9)</A>
430 </H2>
431
432 <P><CODE><B>set/privilege &lt;n&gt; &lt;call&gt; [&lt;call&gt; ...]</B> Set the privilege level on a call</CODE>
433 <P>
434 <P>Set the privilege level on a callsign. The privilege levels that pertain
435 to commands are as default:-
436 <P>
437 <BLOCKQUOTE><CODE>
438 <PRE>
439   0 - normal user
440   1 - allow remote nodes normal user RCMDs
441   5 - various privileged commands (including shutdown, but not disc-
442       connect), the normal level for another node.
443   8 - more privileged commands (including disconnect)
444   9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
445       LEVEL.
446 </PRE>
447 </CODE></BLOCKQUOTE>
448 <P>If you are a sysop and you come in as a normal user on a remote connection
449 your privilege will automatically be set to 0.
450 <P>
451 <H2><A NAME="ss7.34">7.34 set/password (9)</A>
452 </H2>
453
454 <P><CODE><B>set/password &lt;callsign&gt; &lt;string&gt;</B> Set a users password</CODE>
455 <P>
456 <P>The password for a user can only be set by a full sysop. The string
457 can contain any characters but any spaces are removed (you can type in
458 spaces - but they won't appear in the password). You can see the
459 result with STAT/USER.  The password is the usual 30 character baycom
460 type password.
461 <P>
462 <H2><A NAME="ss7.35">7.35 set/sys_qra (9)</A>
463 </H2>
464
465 <P><CODE><B>set/sys_qra &lt;locator&gt;</B> Set your cluster QRA locator</CODE>
466 <P>
467 <H2><A NAME="ss7.36">7.36 show program (5)</A>
468 </H2>
469
470 <P><CODE><B>show/program</B> Show the locations of all the included program modules</CODE>
471 <P>
472 <P>Show the name and location where every program module was load from. This
473 is useful for checking where you think you have loaded a .pm file from.
474 <P>
475 <H2><A NAME="ss7.37">7.37 shutdown (5)</A>
476 </H2>
477
478 <P><CODE><B>shutdown</B>Shutdown the cluster</CODE>
479 <P>
480 <P>Shutdown the cluster and disconnect all the users.  If you have Spider
481 set to respawn in /etc/inittab it will of course restart.
482 <P>
483 <H2><A NAME="ss7.38">7.38 stat/db (5)</A>
484 </H2>
485
486 <P><CODE><B>stat/db &lt;dbname&gt;</B> Show the status of a database</CODE>
487 <P>
488 <P>Show the internal status of a database descriptor.
489 <P>Depending on your privilege level you will see more or less information. 
490 This command is unlikely to be of much use to anyone other than a sysop.
491 <P>
492 <H2><A NAME="ss7.39">7.39 stat/channel (5)</A>
493 </H2>
494
495 <P><CODE><B>stat/channel &lt;callsign&gt;</B> Show the status of a channel on the cluster</CODE>
496 <P>
497 <P>Show the internal status of the channel object either for the channel that 
498 you are on or else for the callsign that you asked for.
499 <P>Only the fields that are defined (in perl term) will be displayed.
500 <P>
501 <H2><A NAME="ss7.40">7.40 stat/msg (5)</A>
502 </H2>
503
504 <P><CODE><B>stat/msg &lt;msgno&gt;</B> Show the status of a message</CODE>
505 <P>
506 <P>This command shows the internal status of a message and includes information
507 such as to whom it has been forwarded, its size, origin etc etc.
508 <P>
509 <H2><A NAME="ss7.41">7.41 stat/user (5)</A>
510 </H2>
511
512 <P><CODE><B>stat/user &lt;callsign&gt;</B> Show the full status of a user</CODE>
513 <P>
514 <P>Shows the full contents of a user record including all the secret flags
515 and stuff.
516 <P>Only the fields that are defined (in perl term) will be displayed.
517 <P>
518 <P>
519 <P>
520 <HR>
521 Next
522 <A HREF="adminmanual-6.html">Previous</A>
523 <A HREF="adminmanual.html#toc7">Contents</A>
524 </BODY>
525 </HTML>