📄 send-nntp
字号:
#! /bin/sh## $Revision: 1.16 $## SH script to send NNTP news out.## =()<. @<_PATH_SHELLVARS>@>()=. /var/spool/news/data/innshellvarsPROGNAME=`basename $0`LOG=${MOST_LOGS}/${PROGNAME}.log## Go to where the action is, start loggingcd $BATCHumask 002DEBUG=""if [ "X$1" = X-d ] ; then DEBUG="-d" shiftelse test ! -f ${LOG} && touch ${LOG} chmod 0660 ${LOG} exec >>${LOG} 2>&1fiecho "${PROGNAME}: [$$] begin `date`"## List of sitename:hostname pairs to send toif [ -n "$1" ] ; then LIST="$*"else LIST="site:site.their.domain" LIST="${LIST} site2:foo.bar.com"fifor L in ${LIST} ; do case $L in *:*) SITE=`expr $L : '\(.*\):.*'` HOST=`expr $L : '.*:\(.*\)'` ;; *) SITE=$L HOST=$L ;; esac LOCK=NNTP_LOCK.${HOST} BATCHFILE=${HOST}.nntp LOCK=${LOCKS}/LOCK.${L} trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15 shlock -p $$ -f ${LOCK} || { echo "${PROGNAME}: [$$] ${HOST} locked by `cat ${LOCK}`" continue } if [ -f ${SITE}.work ] ; then cat ${SITE}.work >>${BATCHFILE} rm -f ${SITE}.work fi if [ ! -f ${SITE} -o ! -s ${SITE} ] ; then if [ ! -f ${BATCHFILE} -o ! -s ${BATCHFILE} ] ; then rm -f ${LOCK} continue fi fi mv ${SITE} ${SITE}.work if ctlinnd -s -t30 flush ${SITE} ; then cat ${SITE}.work >>${BATCHFILE} rm -f ${SITE}.work if [ -s ${BATCHFILE} ] ; then echo "${PROGNAME}: [$$] begin ${HOST}" time innxmit ${DEBUG} ${HOST} ${BATCH}/${BATCHFILE} echo "${PROGNAME}: [$$] end ${HOST}" fi fi rm -f ${LOCK}doneecho "${PROGNAME}: [$$] end `date`"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -