innwatch.ctl man page on BSDOS

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



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

NAME
       innwatch.ctl - control Usenet supervision by innwatch

DESCRIPTION
       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 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 delim-
       iter 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  permit-
       ted.  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  mes-
       sages  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 spec-
	      ified ``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

								1

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

       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 out-
       put.   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, <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 fol-
       lowing 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.

								2

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

       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 suspended again.

EXAMPLES
	      @@@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 easier to explain them, how-
       ever, 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  hap-
       pens.  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  load-
       avg  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.

								3

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

BUGS
       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 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.1.2.1, dated 1999/06/12.

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

								4

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server BSDOS

List of man pages available for BSDOS

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