Procesado de artículos por lotes (manual administración de redes con Linux)


Los lotes de noticias siguen un formato particular, el cual es el mismo para Bnews, C-News e INN. Cada artículo está precedido por una línea como esta:
#! rnews count
donde count es el número de bytes en el artículo. Cuando se usa la compresión de lotes, el archivo resultante es comprimido como un todo, y precedido por otra línea, que indica el mensaje a ser usado por la compresión. la herramienta de compresión estándar es compress, la cual se indica con:
#! cunbatch

Algunas veces, cuando hay que enviar los lotes usando un software de correo que elimina el octavo bit de todos los datos, se puede proteger un lote usando un método de codificación llamado codificación c7(c7-encoding, en inglés); estos lotes serán marcados por c7unbatch.
Cuando se le suministra un lote rnews en el servidor remoto, éste comprueba esas marcas y procesa el lote apropiadamente. Algunos servidores también usan otras herramientas de compresión tales como gzip, y en su lugar, preceden a sus archivos comprimidos con zunbatch. C-News no reconoce cabeceras no estándares como esas; Ud. deberá modificar el código fuente para darle soporte.
En C-News, el proceso por lotes de archivos lo realiza /usr/lib/news/batch/sendbatches, el cual recoge la lista de artículos del archivo site/togo y los pone en varios lotes de noticias. Debería ejecutarse una vez cada hora, o incluso más a menudo, dependiendo del volumen de tráfico. Esta operación es controlada por el archivo batchparms situado en /var/lib/news. Este archivo describe el máximo tamaño de lote permitido para cada servidor, el tipo de proceso por lotes y opcionalmente el programa de compresión usado, además del método de transporte para entregarlo al servidor remoto. Ud. puede especificar los parámetros del proceso por lotes para cada servidor, además de un conjunto de parámetros por defecto para servidores no mencionados explícitamente.
Cuando instale C-News, seguramente hallará un archivo de nombre batchparms en su distribución que contenga una entrada por defecto, con valores razonables, así que es muy probable que no tenga que tocar el archivo. No obstante, describimos su formato por si acaso. Cada línea consta de seis campos, separados por espacios o tabuladores:

site size max batcher muncher transport
site
si te es el nombre del servidor al que se aplica la entrada. El archivo togo para este servidor debe residir en out. going/togo bajo la cola de noticias. Un servidor llamado /default/ denota la entrada por defecto y coincide con cualquier servidor que no sea especificado con una única entrada.
size
size es el tamaño máximo de los lotes creados (antes de la compresión). Para aquellos artículos que son mayores que este valor, C-News hace una excepción y los pone en un lote a ellos solos.
max
max es el máximo número de lotes creados y programados para la transferencia antes de que el proceso por lotes se interrumpa para este servidor en particular. Esto es útil en el caso de que el servidor remoto no esté disponible durante un largo período de tiempo, porque previene que C-News ateste sus directorios de cola UUCP con millones de lotes de noticias.
C-News determina el número de lotes que hay en cola usando el guión queuelen situado en /usr/ lib/news/. Si ha instalado C-News desde paquetes, el guión no necesita retoques, pero si elige lugares diferentes para los directorios de cola, por ejemplo para Taylor UUCP, deberá crear su propia versión del guión. Si no le importa el número de archivos de cola (porque Ud. es la única persona usando el ordenador, y no escribe artículos gigantes), puede reemplazar el contenido del guión por una simple sentencia exit 0.
batcher
El campo ba t cher contiene el comando usado para producir un lote a partir de la lista de artículos del archivo togo. Para las fuentes habituales, éste es generalmente batcher. Puede que se proporcionen otros empaquetadores para otros propósitos. Por ejemplo, el protocolo ihave/sendme requiere que la lista de artículos sea convertida en mensajes de control ihave o sendme, los cuales se envían al grupo to.site. Esto es realizado por los comandos batchih y batchsm respectivamente.
muncher

El campo mun cher especifica el comando a usar para la compresión de los lotes. Generalmente, se usa compcun, un guión que produce lotes comprimidos.5 Alternativamente, puede proporcionar un muncher que use gzip, para comprimir, digamos gzipcun (para ser claros: tiene que escribirlo Ud. mismo ). Debe asegurarse de que uncompress en el servidor remoto esté parcheado para reconocer archivos comprimidos con gzip.
Si el servidor remoto no tiene un comando uncompress, debe especificar nocomp, lo que implica que no se realice compresión alguna.
transport
El último campo, tran sport, describe el transporte a ser utilizado. Hay disponibles varios comandos estándar para diferentes transportes cuyos nombres empiezan con via. sendbatches les pasa el nombre del servidor de destino en la línea de comandos. Si la entrada bat chparms no era /default/, sendbatches deriva el nombre del servidor del campo si te suprimiendo cualquier cosa después e incluyendo el primer punto o barra inclinada. Si la entrada batchparms es /default/, el nombre del directorio ingresado en out. go ing es usado.
Para llevar a cabo el proceso por lotes para un servidor específico, se invoca como:

# su news -c «/usr/lib/news/batch/sendbatches site»

Cuando es invocado sin argumentos, sendbatches maneja todas las colas de lotes. La interpretación de
“todas” depende de una entrada por defecto en batchparms. Si se encuentra una, se comprueban todos los directorios de /var/spool/news/out going; si no, sendbatches recorre todas las entradas de batchparms, procesando solamente los lugares encontrados. Note que sendbatches, cuando explora el directorio out. going toma sólo aquellos directorios que no contienen ningún punto o símbolo arroba (@)como nombre de servidor.
Hay dos comandos que usan uux para ejecutar rnews en el servidor remoto: viauux y viauuxz. El último establece el parámetro -z para uux, el cual, previene que versiones más antiguas de uux devuelvan men-sajes de éxito por cada artículo entregado. Otro comando, viamail, envía los lotes de artículos al usuario rnews en el servidor remoto vía correo. Por supuesto, esto requiere que el sistema remoto administre de alguna manera todo el correo para rnews a su sistema local de noticias. Para obtener una lista completa de estos transportes, refiérase a las páginas del manual de newsbatch.
Todos los comandos de los tres últimos campos deben estar situados, bien en out.going/site o en /usr/lib/news/batch. La mayoría de ellos son guiones, de tal forma que Ud. pueda confeccionar fácilmente nuevas herramientas para sus necesidades personales y son invocadas a través de tuberías (pipes). La lista de artículos es suministrada al batches por su entrada estándar, la cual produce el lote en su salida estándar.

Califica este Artículo

Categoría: Conectividad y Redes.




Deja una respuesta