innwatch.ctl man page on 4.4BSD

Man page or keyword search:  
man Server   1065 pages
apropos Keyword Search (all sections)
Output format
4.4BSD logo
[printable version]

INNWATCH.CTL(5)						       INNWATCH.CTL(5)

NAME
       innwatch.ctl - control Usenet supervision by innwatch

DESCRIPTION
       The  file  /var/spool/news/data/innwatch.ctl  is used to determine what
       actions are taken during the periodic supervisions by innwatch.

       The file consists of a series of lines; blank lines and lines beginning
       with  a	number	sign  (``#'') are ignored.  All other lines consist of
       seven fields, each preceded by a delimiting character:
	      :label:state:condition:test:limit:command:reason

       The delimiter can be any one  of	 several  non-alphanumeric  characters
       that does not appear elsewhere in the line; there is no way to quote it
       to include it in any of the fields.  Any of ``!'', ``,'', ``:'', ``@'',
       ``;'',  or  ``?''  is  a	 good  choice.	Each line can have a different
       delimiter; the first character on each line is the delimiter  for  that
       line.   White space surrounding delimiters, except before the first, is
       ignored, and does not form part	of  the	 fields,  white	 space	within
       fields is permitted.  All delimiters must be present.

       The  first  field  is  a	 label for the control line.  It is used as an
       internal state indicator and in ctlinnd messages to control the server.
       If omitted, the line number is used.

       The  second  field specifies when this control line should be used.  It
       consists of a list of labels,  and  special  indicators,	 separated  by
       whitespace.   If the current state matches against any of the labels in
       this field, this line will be used as described below.  The values that
       may be used are:

       -      This  line matches if the current state is the same as the label
	      on this line, or if the current state is	``run,''  the  initial
	      state.  This is also the default state if this field is empty.

       +      This line matches if the current state is ``run.''

       *      This line always matches.

       label  This  line  matches  if  the  current  state  is	the  specified
	      ``label.''

       -label This line matches if the current	state  is  not	the  specified
	      ``label.''

       The  third field specifies a shell command that is invoked if this line
       matches.	 Do not use any shell filename expansion  characters  such  as
       ``*'',  ``?'',  or  ``[''  (even	 quoted, they're not likely to work as
       intended).  If the command succeeds, as indicated by its	 exit  status,
       it  is  expected	 to  have printed a single integer to standard output.
       This gives the value of this control line, to be used  below.   If  the
       command	fails,	the line is ignored.  The command is executed with its
       current	  directory    set    to    the	   news	   spool    directory,
       /var/spool/news/spool.

       The  fourth  field  specifies  the  operator  to	 use to test the value
       returned above.	It should be one of the two letter numeric test opera‐
       tors defined in test(1) such as ``eq'', ``lt'' and the like.  The lead‐
       ing dash (`'-'') should not be included.

       The fifth field specifies a constant with which to  compare  the	 value
       using the operator just defined.	 This is done by invoking the command
	      test value -operator constant
       The line is said to ``succeed'' if it returns true.

       The sixth field specifies what should be done if the line succeeds, and
       in some cases if it fails.  Any of the following words may be used:

       throttle
	      Causes innwatch to throttle the server if	 this  line  succeeds.
	      It also sets the state to the value of the line's label.	If the
	      line fails, and the state was previously equal to the  label  on
	      this  line (that is, this line had previously succeeded), then a
	      go command will be sent to the server, and innwatch will	return
	      to the ``run'' state.  The ``throttle'' is only performed if the
	      current state is ``run'' or a state other than the label of this
	      line, regardless of whether the command succeeds.

       pause  Is identical to ``throttle'' except that the server is paused.

       shutdown
	      Sends a ``shutdown'' command to the server.  It is for emergency
	      use only.

       flush  Sends a ``flush'' command to the server.

       go     Causes innwatch to send a ``go'' command to the  server  and  to
	      set the state to ``run.''

       exit   Causes innwatch to exit.

       skip   The result of the control file is skipped for the current pass.

       The  last field specifies the reason that is used in those ctlinnd com‐
       mands that require one.	More strictly, it is  part  of	the  reason  —
       innwatch	 appends  some	information  to	 it.  In order to enable other
       sites to recognize the state of	the  local  innd  server,  this	 field
       should  usually	be  set	 to  one  of  several  standard	 values.   Use
       ``No space'' if the server is rejecting articles because of a  lack  of
       filesystem  resources.  Use ``loadav'' if the server is rejecting arti‐
       cles because of a lack of CPU resources.

       Once innwatch has taken some action as a	 consequence  of  its  control
       line,  it  skips	 the  rest  of the control file for this pass.	If the
       action was to restart the server (that is,  issue  a  ``go''  command),
       then  the  next pass will commence almost immediately, so that innwatch
       can discover any other condition that may mean that the	server	should
       be suspended again.

EXAMPLES
	      @@@df .|awk 'NR==2 {print $4}'@lt@10000@throttle@No space
	      @@@df -i .|awk 'NR==2 {print $4}'@lt@1000@throttle@No space (inodes)

       The  first  line	 causes	 the  server to be throttled if the free space
       drops below 10000 units (using whatever units df uses),	and  restarted
       again when free space increases above the threshold.

       The second line does the same for inodes.

       The  next three lines act as a group and should appear in the following
       order.  It is easier to explain them, however, if  they	are  described
       from the last up.
	      !load!load hiload!loadavg!lt!5!go!
	      :hiload:+ load:loadavg:gt:8:throttle:loadav
	      /load/+/loadavg/ge/6/pause/loadav
       The  final  line	 causes	 the server to be paused if innwatch is in the
       ``run'' state and the load average rises to, or above, six.  The	 state
       is  set	to  ``load''  when this happens.  The previous line causes the
       server to be throttled when innwatch is	in  the	 ``run''  or  ``load''
       state,  and  the	 load  average rises above eight.  The state is set to
       ``hiload'' when this happens.  Note that innwatch can switch the server
       from  ``paused''	 to ``throttled'' if the load average rises from below
       six to between six and seven, and then to above eight.  The first  line
       causes  the  server  to	be sent a ``go'' command if innwatch is in the
       ``load'' or ``hiload'' state, and the load average drops below five.

       Note that all three lines assume a mythical  command  loadavg  that  is
       assumed to print the current load average as an integer.	 In more prac‐
       tical circumstances, a pipe of uptime into awk is  more	likely	to  be
       useful.

BUGS
       This  file  must	 be tailored for each individual site, the sample sup‐
       plied is truly no more than a sample.  The file should  be  ordered  so
       that the more common problems are tested first.

       The  ``run''  state  is	not actually identified by the label with that
       three letter name, and using it will not work as expected.

       Using an ``unusual'' character for the delimiter such as ``('',	``*'',
       ``&'',  ```'',  ``´'',  and  the like, is likely to lead to obscure and
       hard to locate bugs.

HISTORY
       Written by <kre@munnari.oz.au> for InterNetNews.	 This is revision 1.3,
       dated 1993/01/29.

SEE ALSO
       innd(8), ctlinnd(8), news.daily(8).

							       INNWATCH.CTL(5)
[top]

List of man pages available for 4.4BSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net