Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for innwatch.ctl (redhat section 5)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


       innwatch.ctl - control Usenet supervision by innwatch

       The  file  <pathetc  in inn.conf>/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 delimit-
       ing character:

       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

       The first field is a label for the control line.  It is used as an internal state  indica-
       tor 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 direc-
       tory, <patharticles in inn.conf>.

       The fourth field specifies the operator to use to  test	the  value  returned  above.   It
       should  be one of the two letter numeric test operators defined in test(1) such as ``eq'',
       ``lt'' and the like.  The leading 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:

	      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 pre-
	      viously equal to the label on this line (that is, this  line  had  previously  suc-
	      ceeded),	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.

	      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

       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 commands 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 articles 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 sus-
       pended again.

	      @@@inndf .@lt@10000@throttle@No space
	      @@@inndf -i .@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 inndf(8) 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  eas-
       ier 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
       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 ``throt-
       tled'' 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 practical circumstances, a pipe of uptime
       into awk is more likely to be useful.

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

       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.

       Written	by  <kre@munnari.oz.au>  for  InterNetNews.   This  is	revision,  dated

       inn.conf(5), innd(8), inndf(8), ctlinnd(8), news.daily(8).

Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 02:57 PM.