I wonder if news.daily is working properly?
The Doctor
doctor at doctor.nl2k.ab.ca
Fri Oct 6 00:16:00 UTC 2000
I just switched to CNFS/ovdb, YAY!!
However, no news.daily report in my mailbox :-(
I am not certain whether to use uniover.
Here is what I have:
------------ news.daily -------------
#!/bin/sh
## $Revision: 1.5 $
## Daily news maintenance.
## Optional arguments:
## expdir=xxx Directory in which to build new history file
## tmpdir=xxx Working directory for `sort' and such
## expirectl=xxx Use xxx as expire.ctl file
## flags=xxx Pass xxx flags to expire
## lowmark Create and use a lowmark file
## noexpire Do not expire
## noexplog Do not log expire output
## nologs Do not scan logfiles
## nomail Do not capture and mail output
## norenumber Do not renumber the active file
## norm Do not remove certain old files
## norotate Do not rotate logfiles
## nostat Do not run innstat
## notdaily Not a daily run, and therefore implies nologs.
## delayrm Delay unlink files, then do it quicker (expire -z)
## /full/path Path to a program to run before expiring
. /var/news/lib/innshellvars
EXPLOG=${MOST_LOGS}/expire.log
INNSTAT=${PATHBIN}/innstat
HOSTNAME=`hostname`
DATE=`date`
AZ=ABCDEFGHIJKLMNOPQRSTUVWXYZ
az=abcdefghijklmnopqrstuvwxyz
TAGGEDHASH=
SORT=sort
## If your expire does not pause or throttle innd, enable this next line:
#MESSAGE="Expiration script $$"
## Renumber all at once, or in steps? Set to the delay if steps (that
## may take a long time!).
RENUMBER=
PROGNAME=news.daily
LOCK=${LOCKS}/LOCK.${PROGNAME}
## Set defaults.
DAILY=true
DOEXPIRE=true
DOEXPLOG=true
DOEXPIREOVER=false
DOLOGS=true
DOMAIL=true
DORENUMBER=true
DORM=true
DOSTAT=true
EXPIRECTL=
EXPDIR=
EXPIREFLAGS="-v1"
EXPIREOVER=expireover
LOWMARKFILE=
RMFILE=
HISTDIR="`dirname ${HISTORY}`"
TOUT=600 # timeout value for ctlinnd commands
if [ -z "${HISTDIR}" -o X"." = X"${HISTDIR}" -o ! -d "${HISTDIR}" ]; then
if [ -d "${PATHETC}/hist" ]; then
HISTDIR="${PATHETC}/hist"
else
HISTDIR="${PATHETC}"
fi
fi
ENABLEOVERVIEW=`echo X${ENABLEOVERVIEW} | tr ${AZ} ${az}`
if [ ${ENABLEOVERVIEW} = x"true" -o ${ENABLEOVERVIEW} = x"yes" -o ${ENABLEOVERVIEW} = x"on" ]; then
DOEXPIREOVER=true
RMFILE=${MOST_LOGS}/expire.rm
fi
EXPIREOVERFLAGS=
PROGRAMS=
POSTPROGRAMS=
REASON=
SCANARG=
DOGROUPBASEEXPIRY=false
GROUPBASEEXPIRY=`echo X${GROUPBASEEXPIRY} | tr ${AZ} ${az}`
if [ ${GROUPBASEEXPIRY} = x"true" -o ${GROUPBASEEXPIRY} = x"yes" -o ${GROUPBASEEXPIRY} = x"on" ]; then
DOEXPIREOVER=true
RMFILE=${MOST_LOGS}/expire.rm
DOGROUPBASEEXPIRY=true
fi
## Parse JCL.
for I
do
case "X$I" in
Xdelayrm)
RMFILE=${MOST_LOGS}/expire.rm
;;
Xexpctl=*)
EXPIRECTL=`expr "${I}" : 'expctl=\(.*\)'`
case ${EXPIRECTL} in
/*)
;;
*)
EXPIRECTL=`/bin/pwd`/${EXPIRECTL}
;;
esac
;;
Xexpdir=*)
EXPDIR=`expr "${I}" : 'expdir=\(.*\)'`
;;
Xtmpdir=*)
TMPDIR=`expr "${I}" : 'tmpdir=\(.*\)'`
;;
Xexpireover)
DOEXPIREOVER=true
RMFILE=${MOST_LOGS}/expire.rm
;;
Xexpireoverflags=*)
EXPIREOVERFLAGS=`expr "${I}" : 'expireoverflags=\(.*\)'`
;;
Xflags=*)
EXPIREFLAGS=`expr "${I}" : 'flags=\(.*\)'`
;;
Xlowmark)
LOWMARKFILE=${MOST_LOGS}/expire.lowmark
DORENUMBER=false
;;
Xnotdaily)
DAILY=false
DOLOGS=false
;;
Xnoexpire)
DOEXPIRE=false
;;
Xnoexpireover)
DOEXPIREOVER=false
RMFILE=
;;
Xnoexplog)
DOEXPLOG=false
;;
Xnologs)
DOLOGS=false
;;
Xnomail)
DOMAIL=false
MAIL="cut -c 1-1022 | ${SED} -e 's/^~/~~/'"
;;
Xnonn)
# Ignore this.
;;
Xnorenumber)
DORENUMBER=false
;;
Xnorm)
DORM=false
;;
Xnorotate)
SCANARG="${SCANARG} norotate"
;;
Xnostat)
DOSTAT=false
;;
X/*)
PROGRAMS="${PROGRAMS} ${I}"
;;
Xpostexec=*)
POSTEXEC=`expr "${I}" : 'postexec=\(.*\)'`
POSTPROGRAMS="${POSTPROGRAMS} ${POSTEXEC}"
;;
*)
echo "Unknown flag ${I}" 1>&2
exit 1
;;
esac
done
##
## Setup mail subject and command
##
if ${DAILY} ; then
MAILSUBJ="${HOSTNAME} Daily Usenet report for ${DATE}"
else
MAILSUBJ="${HOSTNAME} intermediate usenet report for ${DATE}"
fi
MAIL="cut -c 1-1022 | ${SED} -e 's/^~/~~/' | \
${MAILCMD} -s '$MAILSUBJ' ${NEWSMASTER}"
#
# Sanity check. Shouldn't we just bail out here with an error
# instead of trying to patch things up?
#
${DOEXPIRE} || {
EXPDIR=
RMFILE=
}
test -n "${EXPDIR}" && {
test -z "${REASON}" && REASON="Expiring $$ on ${EXPDIR}"
EXPIREFLAGS="${EXPIREFLAGS} '-d${EXPDIR}' '-r${REASON}'"
}
test -n "${RMFILE}" && {
if ${DOGROUPBASEEXPIRY} ; then
EXPIREOVERFLAGS="${EXPIREOVERFLAGS} -z${RMFILE}"
else
EXPIREFLAGS="${EXPIREFLAGS} -z${RMFILE}"
fi
}
test -n "${LOWMARKFILE}" && {
EXPIREOVERFLAGS="${EXPIREOVERFLAGS} -Z${LOWMARKFILE}"
}
if ${DOMAIL} ; then
## Try to get a temporary file.
TEMP=${TMPDIR}/doex$$
test -f ${TEMP} && {
echo "Temporary file ${TEMP} exists" | eval ${MAIL}
exit 1
}
touch ${TEMP}
chmod 0660 ${TEMP}
exec 3>&1 >${TEMP} 2>&1
fi
cd ${PATHETC}
## Show the status of the news system.
${DOSTAT} && {
${INNSTAT}
echo ''
}
## Lock out others.
trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15
shlock -p $$ -f ${LOCK} || {
( echo "$0: Locked by `cat ${LOCK}`"; ${INNSTAT} ) | eval ${MAIL}
exit 1
}
## Run any user programs.
if [ -n "${PROGRAMS}" ] ; then
for P in ${PROGRAMS} ; do
echo ''
echo "${P}:"
eval ${P}
done
fi
${DOLOGS} && {
echo ''
scanlogs ${SCANARG}
}
# group based expiry (delete expired overview first)
if [ ${DOGROUPBASEEXPIRY} = true -a ${DOEXPIREOVER} = true ] ; then
if ${DOEXPLOG}; then
echo "${EXPIREOVER} start `date`: (${EXPIREOVERFLAGS})" >>${EXPLOG}
fi
( exec 2>&1 ; eval ${EXPIREOVER} "${EXPIREOVERFLAGS}" >>${EXPLOG})
if ${DOEXPLOG}; then
echo "${EXPIREOVER} end `date`" >>${EXPLOG}
fi
test -n "${LOWMARKFILE}" && {
echo "lowmarkrenumber begin `date`: (${LOWMARKFILE})" >>${EXPLOG}
ctlinnd -s -t`wc -l <${ACTIVE}` lowmark ${LOWMARKFILE} 2>&1
echo "lowmarkrenumber end `date`" >>${EXPLOG}
rm -f ${MOST_LOGS}/expire.lastlowmark
mv ${LOWMARKFILE} ${MOST_LOGS}/expire.lastlowmark
}
test -n "${RMFILE}" -a -s "${RMFILE}" && {
mv ${RMFILE} ${RMFILE}.$$ && RMFILE=${RMFILE}.$$
test -n "${TMPDIR}" && SORT="${SORT} -T ${TMPDIR}"
${SORT} -u -o ${RMFILE} ${RMFILE}
if ${DOEXPLOG}; then
echo " expirerm start `date`" >>${EXPLOG}
fi
expirerm ${RMFILE}
if ${DOEXPLOG}; then
echo " expirerm end `date`" >>${EXPLOG}
fi
}
DOEXPIREOVER=false
fi
## The heart of the matter: prologs, expire, epilogs.
if ${DOEXPIRE} ; then
## Wait to be fairly certain innwatch is not in the middle of a pass
## Since we're locked, innwatch will pause now till we're done
sleep 30
## See if we're throttled for lack of space.
SERVERMODE=`ctlinnd -t $TOUT mode 2>/dev/null | ${SED} 1q`
case "${SERVERMODE}" in
'Server paused'*'[innwatch:'*)
## If paused, by innwatch, then turn pause into throttle
## as we're going to stay that way for a while now
ctlinnd -t $TOUT -s throttle \
"`expr \"${SERVERMODE}\" : 'Server paused \(.*\)'`" || {
( echo "$0: Cannot throttle while innwatch paused";
${INNSTAT} ) | eval ${MAIL}
exit 1
}
esac
case "${SERVERMODE}" in
*space*" -- throttling")
echo "${SERVERMODE} -- trying to recover"
THROTTLED=true
EXPIREFLAGS="${EXPIREFLAGS} -n"
MESSAGE=
;;
*"[innwatch:"*)
echo "${SERVERMODE} -- pressing on"
THROTTLED=false
EXPIREFLAGS="${EXPIREFLAGS} -n"
MESSAGE=
DORENUMBER=false
;;
*)
THROTTLED=false
;;
esac
## Throttle server if we need to.
if [ -n "${MESSAGE}" ] ; then
ctlinnd -t $TOUT -s -t120 throttle "${MESSAGE}" 2>&1 || {
( echo "$0: Cannot throttle news"; ${INNSTAT} ) | eval ${MAIL}
exit 1
}
fi
#
# Get rid of an old expire RMFILE since news.daily locks itself and
# we would not get here if another instance were still running.
#
if [ -n "${RMFILE}" ] ; then
rm -f ${RMFILE}
fi
## Actual expire the articles (finally!).
test -n "${EXPIRECTL}" && EXPIREFLAGS="${EXPIREFLAGS} ${EXPIRECTL}"
if ${DOEXPLOG}; then
echo "expire begin `date`: (${EXPIREFLAGS})" >>${EXPLOG}
( cd ${HISTDIR}; exec 2>&1 ; eval expire "${EXPIREFLAGS}" ) \
| ${SED} -e '/No such file or directory/d' \
-e 's/^/ /' >>${EXPLOG}
echo "expire end `date`" >>${EXPLOG}
else
eval expire "${EXPIREFLAGS}" 2>&1 | grep -v 'No such file or directory'
fi
## If built on another filesystem, move history files.
if [ -n "${EXPDIR}" ] ; then
if [ ! -f ${EXPDIR}/history.n -o ! -f ${EXPDIR}/history.n.done ] ; then
( echo "$0: No new history files"; ${INNSTAT} ) | eval ${MAIL}
exit 1
fi
cp /dev/null ${HISTORY}
mv -f ${EXPDIR}/history.n ${HISTORY}
mv -f ${EXPDIR}/history.n.dir ${HISTORY}.dir
if [ X${TAGGEDHASH} = XDO ] ; then
mv -f ${EXPDIR}/history.n.pag ${HISTORY}.pag
else
mv -f ${EXPDIR}/history.n.index ${HISTORY}.index
mv -f ${EXPDIR}/history.n.hash ${HISTORY}.hash
fi
rm -f ${EXPDIR}/history.n.done
case "${EXPIREFLAGS}" in
*-n*)
;;
*)
MESSAGE="${REASON}"
;;
esac
fi
## Restart the server if we need to.
if ${THROTTLED} || test -n "${MESSAGE}" ; then
ctlinnd -t "$TOUT" -s go "${MESSAGE}" 2>&1 || {
( echo "$0: Cannot unthrottle news"; ${INNSTAT} ) | eval ${MAIL}
exit 1
}
fi
if ${DOEXPLOG}; then
echo " all done `date`" >>${EXPLOG}
fi
fi
## Remove old sockets.
${DORM} &&
find ${TEMPSOCKDIR} -name "${TEMPSOCK}" -mtime +2 -exec rm -f '{}' ';'
## Did we became throttled during the run?
SERVERMODE=`ctlinnd mode 2>/dev/null | ${SED} 1q`
case "${SERVERMODE}" in
*space*" -- throttling")
## We did, try to unthrottle the server.
echo "${SERVERMODE} -- trying to recover"
ctlinnd -s go ""
;;
esac
## Release the lock now, everything below this must be able to withstand
## simultaneous news.daily's running. We do this so innwatch can start
## monitoring again asap after the expire is done -- removing the
## articles isn't critical, nor is the renumber.
rm ${LOCK}
## Remove the articles that are supposed to go
if [ ${DOEXPIRE} = true -a ${DOGROUPBASEEXPIRY} != true ] ; then
test -n "${RMFILE}" -a -s "${RMFILE}" && {
mv ${RMFILE} ${RMFILE}.$$ && RMFILE=${RMFILE}.$$
test -n "${TMPDIR}" && SORT="${SORT} -T ${TMPDIR}"
${SORT} -u -o ${RMFILE} ${RMFILE}
if ${DOEXPLOG}; then
echo " expirerm start `date`" >>${EXPLOG}
fi
expirerm ${RMFILE}
if ${DOEXPLOG}; then
echo " expirerm end `date`" >>${EXPLOG}
fi
${DOEXPIREOVER} && {
if ${DOEXPLOG}; then
echo " ${EXPIREOVER} start `date`" >>${EXPLOG}
fi
eval ${EXPIREOVER} "${EXPIREOVERFLAGS}" 2>&1 | \
grep -v 'No such file or directory'
DOEXPIREOVER=false
if ${DOEXPLOG}; then
echo " ${EXPIREOVER} end `date`" >>${EXPLOG}
fi
}
test -n "${LOWMARKFILE}" && {
echo "lowmarkrenumber begin `date`: (${LOWMARKFILE})" >>${EXPLOG}
ctlinnd -s -t`wc -l <${ACTIVE}` lowmark ${LOWMARKFILE} 2>&1
echo "lowmarkrenumber end `date`" >>${EXPLOG}
rm -f ${MOST_LOGS}/expire.lastlowmark
mv ${LOWMARKFILE} ${MOST_LOGS}/expire.lastlowmark
}
}
# expire overview lines for files we just removed
if ${DOEXPIREOVER}; then
if ${DOEXPLOG}; then
echo " ${EXPIREOVER} start `date`" >>${EXPLOG}
fi
eval ${EXPIREOVER} "${EXPIREOVERFLAGS}" 2>&1 | \
grep -v 'No such file or directory'
DOEXPIREOVER=false
if ${DOEXPLOG}; then
echo " ${EXPIREOVER} end `date`" >>${EXPLOG}
fi
test -n "${LOWMARKFILE}" && {
echo "lowmarkrenumber begin `date`: (${LOWMARKFILE})" >>${EXPLOG}
ctlinnd -s -t`wc -l <${ACTIVE}` lowmark ${LOWMARKFILE} 2>&1
echo "lowmarkrenumber end `date`" >>${EXPLOG}
rm -f ${MOST_LOGS}/expire.lastlowmark
mv ${LOWMARKFILE} ${MOST_LOGS}/expire.lastlowmark
}
fi
fi
# in case noexpire expireover
if ${DOEXPIREOVER}; then
if ${DOEXPLOG}; then
echo " ${EXPIREOVER} start `date`" >>${EXPLOG}
fi
eval ${EXPIREOVER} "${EXPIREOVERFLAGS}" 2>&1 | \
grep -v 'No such file or directory'
if ${DOEXPLOG}; then
echo " ${EXPIREOVER} end `date`" >>${EXPLOG}
fi
test -n "${LOWMARKFILE}" && {
echo "lowmarkrenumber begin `date`: (${LOWMARKFILE})" >>${EXPLOG}
ctlinnd -s -t`wc -l <${ACTIVE}` lowmark ${LOWMARKFILE} 2>&1
echo "lowmarkrenumber end `date`" >>${EXPLOG}
rm -f ${MOST_LOGS}/expire.lastlowmark
mv ${LOWMARKFILE} ${MOST_LOGS}/expire.lastlowmark
}
fi
## Renumber the active file.
if ${DORENUMBER} ; then
echo ''
echo 'Renumbering active file.'
if [ -z "${RENUMBER}" ] ;then
ctlinnd -s -t`wc -l <${ACTIVE}` renumber '' 2>&1
else
while read GROUP hi lo flag ; do
ctlinnd -s renumber ${GROUP} 2>&1
sleep ${RENUMBER}
done <${ACTIVE}
fi
fi
## Display expire log messages
if ${DOMAIL} ; then
if [ -s ${EXPLOG} ] ; then
echo Expire messages:
cat ${EXPLOG}
echo ---------
echo ''
fi
fi
## Show the status of the news system after expiration.
${DOSTAT} && {
echo 'Post expiration status:' ; echo ''
${INNSTAT}
echo ''
}
## Mail the report.
if ${DOMAIL} ; then
# Stop using the temp file, and mail captured output.
exec 1>&3 2>&1 3>&-
MAIL="${MAILCMD} -s \"${MAILSUBJ}\" ${NEWSMASTER}"
test -s ${TEMP} && cat ${TEMP} | ${SED} -e 's/^~/~~/' | eval ${MAIL}
rm -f ${TEMP}
fi
## Run any user programs.
if [ -n "${POSTPROGRAMS}" ] ; then
for P in ${POSTPROGRAMS} ; do
echo ''
echo "${P}:"
eval ${P}
done
fi
## All done
if ${DAILY} ; then
date >${PATHDB}/.news.daily
fi
${RNEWS} -U
exit 0
-------------
------ inn.conf ----------
## $Id: inn.conf.in,v 1.41 2000/04/07 02:29:52 rra Exp $
##
## inn.conf -- INN configuration data
##
## Format:
## <parameter>:<whitespace><value>
##
## Blank values are allowed for certain parameters.
##
## See the inn.conf(5) man page for a full description of each of these
## options. This sample file is divided into two sections; first, there
## are the parameters that must be set (or should be set in nearly all
## cases), and then all parameters are given with their defaults for
## reference in the same order and with the same organization as the
## inn.conf(5) documentation.
# The following parameters are most likely to need setting, although the
# defaults generated by configure may be reasonable.
mta: /usr/sbin/sendmail -oi -oem %s
organization: NetLine 2000 News
ovmethod: tradindexed
pathhost: ns2.nl2k.ab.ca
pathnews: /var/news
# General Settings
domain:
innflags: -i0 -c1 -r -l2000000
mailcmd: /var/news/bin/innmail
server:
# Feed Configuration
artcutoff: 14
bindaddress:
hiscachesize: 0
ignorenewsgroups: false
immediatecancel: false
linecountfuzz: 0
maxartsize: 2000000
maxconnections: 50
pathalias:
pgpverify: true
port: 119
refusecybercancels: false
remembertrash: true
sourceaddress:
usecontrolchan: false
verifycancels: false
wanttrash: false
wipcheck: 5
wipexpire: 10
# Article Storage
cnfscheckfudgesize: 0
enableoverview: true
groupbaseexpiry: false
mergetogroups: false
overcachesize: 15
ovgrouppat:
storeonxref: false
useoverchan: true
wireformat: false
xrefslave: false
# Reading
allownewnews: true
articlemmap: false
clienttimeout: 600
nnrpdcheckart: true
nnrpperlauth: false
nnrppythonauth: false
noreader: false
readerswhenstopped: false
readertrack: false
# Reading -- Keyword Support
#
# Enabling this without stopping innd and deleting the existing overview
# database and adding will probably confuse a lot of things. You must
# have compiled this support in too.
keywords: false
keyartlimit: 100000
keylimit: 512
keymaxwords: 250
# Posting
addnntppostingdate: true
addnntppostinghost: true
checkincludedtext: false
complaints:
fromhost:
localmaxartsize: 1000000
moderatormailer:
nnrpdauthsender: false
nnrpdposthost:
nnrpdpostport: 119
spoolfirst: false
strippostcc: false
# Posting -- Exponential Backoff
backoffauth: false
backoffdb:
backoffk: 1
backoffpostfast: 0
backoffpostslow: 1
backofftrigger: 10000
# Monitoring
doinnwatch: true
innwatchbatchspace: 800
innwatchlibspace: 25000
innwatchloload: 1000
innwatchhiload: 2000
innwatchpauseload: 1500
innwatchsleeptime: 600
innwatchspoolnodes: 200
innwatchspoolspace: 8000
# Logging
docnfsstat: true
logartsize: true
logcancelcomm: false
logcycles: 3
logipaddr: true
logsitename: true
nnrpdoverstats: false
nntpactsync: 200
nntplinklog: false
status: 0
timer: 0
# System Tuning
badiocount: 5
blockbackoff: 120
chaninacttime: 600
chanretrytime: 300
icdsynccount: 10
maxforks: 10
nicekids: 4
nicenewnews: 0
nicennrpd: 0
pauseretrytime: 300
peertimeout: 3600
rlimitnofile: -1
# Paths
patharchive: /var/news/spool/archive
patharticles: /var/news/spool/articles
pathbin: /var/news/bin
pathcontrol: /var/news/bin/control
pathdb: /var/news/etc
pathetc: /var/news/etc
pathfilter: /var/news/bin/filter
pathhttp: /var/log/news
pathincoming: /var/news/spool/incoming
pathlog: /var/log/news
pathoutgoing: /var/news/spool/outgoing
pathoverview: /var/news/spool/overview
pathrun: /var/news/run
pathspool: /var/news/spool
pathtmp: /var/news/tmp
----------------- END --------------
-------- storage.conf ---------
# This file is used to determine which storage method articles are sent to
# to be stored and which storage class they are stored as.
#
# Sample for the ``timehash'' storage method:
#
# method <methodname> {
# newsgroups: <wildmat>
# class: <storage class #>
# size: <minsize>[,<maxsize>]
# expires: <mintime>[,<maxtime>]
# options: <options>
# }
#
#method tradspool {
# newsgroups: *
# class: 0
#}
#method timehash {
# newsgroups: *
# class: 0
#}
#method timehash {
# newsgroups: alt.binaries.*
# class: 1
# size: 2,32000
#}
#method timehash {
# newsgroups: alt.*
# class: 2
# size: 1
#}
#
# Sample for the ``cnfs'' storage method:
#
# methodname:wildmat:storage class #:minsize:maxsize:metacycbuffname
# method cnfs {
# newsgroups: <wildmat>
# class: <storage class #>
# size: <minsize>[,<maxsize>]
# expires: <mintime>[,<maxtime>]
# options: <metacycbuffname>
# }
#
#method cnfs {
# newsgroups: *
# class: 1
# size: 0,3999
# expires: 4d1s
# options: FAQS
#}
#method cnfs {
# newsgroups: *
# class: 2
# size: 0,3999
# expires: 0s,4d
# options: SMALLAREA
#}
#method cnfs {
# newsgroups: *
# class: 3
# size: 4000,1000000
# options: BIGAREA
#}
# Sample for the ``cnfs'' storage method:
#
# methodname:wildmat:storage class #:minsize:maxsize:metacycbuffname
# method cnfs {
# newsgroups: <wildmat>
# class: <storage class #>
# size: <minsize>[,<maxsize>]
# expires: <mintime>[,<maxtime>]
# options: <metacycbuffname>
# }
#
method cnfs {
newsgroups: *
class: 1
size: 0,100000
# expires: 0s,1d
options: AREAONE
}
method cnfs {
newsgroups: *
class: 2
size: 100001,250000
# expires: 0s,1d
options: AREATWO
}
method cnfs {
newsgroups: *
class: 3
size: 250001,266667
# expires: 0s,1d
options: AREATHREE
}
method cnfs {
newsgroups: *
class: 4
size: 266668,284444
# expires: 0s,1d
options: AREAFOUR
}
method cnfs {
newsgroups: *
class: 5
size: 284445,300000
# expires: 0s,1d
options: AREAFIVE
}
method cnfs {
newsgroups: *
class: 6
size: 300001,400000
# expires: 0s,1d
options: AREASIX
}
method cnfs {
newsgroups: *
class: 7
size: 400001,500000
# expires: 0s,1d
options: AREASEVEN
}
method cnfs {
newsgroups: *
class: 8
size: 500001,750000
# expires: 0s,1d
options: AREAEIGHT
}
method cnfs {
newsgroups: *
class: 9
size: 750001,1000000
# expires: 0s,1d
options: AREANINE
}
method cnfs {
newsgroups: *
class: 10
size: 1000001,10000000
# expires: 0s,1d
options: AREATEN
}
-------- END -----------
----- cycbuff.conf ---------
#
# Meta cnfs cyclic buffer configuration file (and assignments of newsgroups to
# metacyclic buffers)
#
# The order in this items appear in this file is *important*.
# 1. Cyclic buffers
# Format:
# "cycbuff" (literally) : symbolic buffer name : path to buffer file :
# length of symbolic buffer in kilobytes in decimal (1KB = 1024 bytes)
cycbuff:ONE:/var/news/cycbuffs/one:2000000
cycbuff:TWO:/var/news/cycbuffs/two:2000000
cycbuff:THREE:/var/news/cycbuffs/three:2000000
cycbuff:FOUR:/var/news/cycbuffs/four:2000000
cycbuff:FIVE:/var/news/cycbuffs/five:2000000
cycbuff:SIX:/var/news/cycbuffs/six:2000000
cycbuff:SEVEN:/var/news/cycbuffs/seven:2000000
cycbuff:EIGHT:/var/news/cycbuffs/eight:2000000
cycbuff:NINE:/var/news/cycbuffs/nine:2000000
cycbuff:TEN:/var/news/cycbuffs/ten:2000000
# 2. Meta-cyclic buffers
# Format:
# "metacycbuff" (literally) : symbolic meta-cyclic buffer name :
# comma separated list of cyclic buffer symbolic names
#
# symbolic meta-cyclic buffer name is defined at storage.ctl like;
# cnfs:*:1:0:3999:SMALLAREA
# cnfs:*:2:4000:1000000:BIGAREA
metacycbuff:AREAONE:ONE
metacycbuff:AREATWO:TWO
metacycbuff:AREATHREE:THREE
metacycbuff:AREAFOUR:FOUR
metacycbuff:AREAFIVE:FIVE
metacycbuff:AREASIX:SIX
metacycbuff:AREASEVEN:SEVEN
metacycbuff:AREAEIGHT:EIGHT
metacycbuff:AREANINE:NINE
metacycbuff:AREATEN:TEN
--------- END -----------
---- expire.ctl ---------
/remember/:1
10:1:1:1
1:1:1:1
2:1:1:1
3:1:1:1
4:1:1:1
5:1:1:1
6:1:1:1
7:1:1:1
8:1:1:1
9:1:1:1
--------------------------
----- /etc/crontab ------
# Crontab file; see cron(8) for more information.
#
# BSDI crontab,v 2.8 1998/04/09 00:15:39 jch Exp
# @(#)crontab 8.1 (Berkeley) 6/9/93
SHELL=/bin/sh
0,15,30,45 * * * * root /usr/bin/at
10 3 * * * root /bin/sh /etc/daily > /var/log/daily.out 2>&1; /usr/bin/mail -s "$(hostname -s) daily run output" root < /var/log/daily.out
10 4 * * 6 root /bin/sh /etc/weekly > /var/log/weekly.out 2>&1; /usr/bin/mail -s "$(hostname -s) weekly run output" root < /var/log/weekly.out
20 4 1 * * root /bin/sh /etc/monthly > /var/log/monthly.out 2>&1; /usr/bin/mail -s "$(hostname -s) monthly run output" root < /var/log/monthly.out
# INN (netnews) programs
# (uncomment these to do normal news processing)
#
# daily cleanup and expiration
0 1 * * * news /var/news/etc/news.daily
# process articles posted while server not answering
15 3 * * * news /var/news/bin/rnews -U
#0 0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * news /var/news/bin/expire -v1
#0 0 * * * news /var/news/bin/expireindex
#0 0 * * * news /var/news/bin/expirerm
#0 0 * * * news /var/news/bin/expireover
# process outgoing feeds every 15 mins...
3,8,13,18,23,28,33,38,43,48,53,58 * * * * news /var/news/bin/nntpsend
* * * * * news /var/news/etc/send-nntp news.uunet.ca
# Hylafax programs
# (uncomment these to do normal fax daemon cleanup)
#7 * * * * root /usr/contrib/bin/faxqclean
#25 23 * * * fax /usr/contrib/bin/faxcron > /var/log/faxcron.out 2>&1; /usr/bin/mail -s "$(hostname -s) fax run output" root < /var/log/faxcron.out
--------------- END --------
Pointers Please.
More information about the inn-workers
mailing list