NOMBRE¶
rpost - envía un artículo a un servidor de noticias NNTP
SINOPSIS¶
rpost [ nodo ] [
@archivo ] [
-s | -S archivo ] [
-e | -E archivo ] [
-b archivo_batch ] [
-p
prefijo ] [
-d ] [
-U usuario ] [
-P clave ] [
-M
] [
-N puerto ] [
-l archivo_de_frases ] [
-D ] [
-T tiempo_tope ] [
-u ] [
-f programa_filtro
$$o=<outfile> filter_arg1 ... ]
DESCRIPTION¶
Rpost enviará uno o más artículos al
nodo
especificado. En caso de no especificarse ninguno, rpost usará la
variable de entorno
NNTPSERVER.
Opciones generales¶
-s|-S archivo
Estas opciones enviarán todos los mensajes de estado (que normamente van a
la salida estándar) a un archivo alternativo. Cuando la opción es la
minúscula, -s, enviarán los mensajes de estado al archivo por
defecto en definido en tiempo de compilación en suck_config.h. Por
defecto se toma /dev/null, o sea: no se escribirán mensajes de estado. La
mayúscula, -S, requiere un nombre de archivo. Todos los mensajes de
estado serán enviados a este archivo.
-e|-E archivo
Estas opciones enviarán todos los mensajes de error (normalmente escritos
en la salida de error estándar) a un archivo alternativo. La versión
en minúscula, -e enviará los mensajes de error al archivo por
defecto definido en tiempo de compilación en suck_config.h. Por defecto
se toma suck.errlog. La mayúscula, -E, requiere un nombre de archivo.
Todos los mensajes de error serán enviados a este archivo.
-U usuario
-P clave
Estas dos opciones le permiten a Vd. especificar un usuario y una clave si su
servidor de NNTP los solicita.
-M
Esta opción hace que rpost envíe un comando de "modo de
lectura" al servidor remoto. Si Vd. obtiene un mensaje de comando
inválido inmediatamente después del anuncio de bienvenida, pruebe
esta opción.
-N puerto
Esta opción hace que rpost use un puerto NNRP alternativo cuando se conecta
al nodo, en lugar del puerto 119, que es el que se toma por defecto.
@archivo
Esta opción hace que rpost lea otras opciones del archivo indicado,
además de las de la línea de comando.
-l archivo_de_frases
Esta opción hace que rpost cargue un archivo de frases alternativas, en vez
de usar los mensajes imbuidos. Esto le permite a Vd. hacer que rpost muestre
sus mensajes en otro idioma o permite personalizar los mensajes sin tener que
recompilar. Para más detalles vea "FRASES EN DIVERSOS
LENGUAJES" en
suck(1).
-D Esta opción hace que rpost envíe varios mensajes de debug a
"debug.suck", para uso básicamente del programador.
-T Esta opción reemplaza el valor precompilado de TIMEOUT, tiempo
tope de conexión. Es el tiempo que rpost está esperando datos del
host remoto antes de sobrepasar el tope y abortarse.
-u Esta opción hace que rpost envíe al servidor remoto un
comando AUTHINFO USER nada más conectarse, en lugar de esperar la
petición de autorización. Deberá además usar las opciones
-U y -P cuando use ésta.
MODO STDIN O DE ENTRADA ESTÁNDAR¶
rpost
rpost nodo
rpost lee un artículo en su entrada estándar y lo envía al
servidor NNTP. El artículo debe contener una cabecera con al menos dos
líneas llamadas Newsgroups: y Subject: y un cuerpo (el artículo
propiamente dicho). La cabecera y el cuerpo deben estar separados por un
caracter de cambio de línea. Rpost no hace ningún cambio en el
artículo.
Rpost usa el comando POST para enviar el artículo, tal y como haría un
programa lector de noticias. Esto es práctico cuando se usa SLIP o PPP
pues muchos proveedores de servicios de internet no permiten otro método
de enviar artículos (como nntpsend o innxmit).
MODO BATCH O POR LOTES¶
rpost nodo
-b archivo_batch
-p prefijo
-d -f filtro
$$o=<archivo_salida> arg1_filtro ...
-b archivo_batch
Una lista de los artículos a enviar. Este parámentro es NECESARIO.
Este archivo contiene una línea por cada artículo, siendo cada una
de ellas el camino+nombre del archivo que contiene al artículo. Por
ejemplo:
-b /usr/spool/news/out.going/pixi
Si hay problemas al enviar el artículo se creará un archivo de fallos.
Se llamará "archivo_batch".fail y contendrá la línea
del archivo_batch de cada uno de los artículos que no sean enviados
correctamente. Este archivo puede ser usado para volver a enviar los mensajes
usando rpost. NOTA: los mensajes duplicados no son considerados como
erróneos a efectos de ser incluidos en el archivo "fail".
-d
Si se envían los artículos correctamente, esta opción hace que
rpost borre el archivo especificado con la opción -b.
-p prefijo
Este parámetro debe ser especificado si el archivo_batch contiene sólo
una parte del camnino de los artículos, en lugar del camino completo.
Esto es útil cuando archivo batch es generado por otro programa. Por
ejemplo, Inn lista los artículos en su directorio out.going pero
relativos a su directorio base: /var/spool/news. En ese caso basta usar:
-p /var/spool/news
-f filtro $$o=<archivo_salida> arg1_filtro arg2_filtro ...
En muchos casos, cada artículo debe ser maquillado antes de que el servidor
NNTP remoto lo acepte. Esta opción le permite hacerlo. Observe que la
opción -f ... debe ser la ULTIMA opción puesto que todo lo que le
sigue es pasado al filtro, excepto lo señalado más abajo. Hay tres
parámetro necesarios:
$$o=<archivo_salida> - <archivo_salida> es el nombre del
artículo generado por el filtro y que será enviado al servidor NNTP
remoto. NO se pasa al programa de filtro. Puede ser especificado en cualquier
lugar de la línea DESPUÉS del argumento -f, bien antes o
después del nombre del filtro.
filtro - nombre del programa a ejecutar. Cualquier cosa que siga al filtro,
EXCEPTO $$o, será pasado como argumento al filtro.
arg1 - El primer argumento a su programa/script de filtro. Muy posiblemente sea
$$i, el cual será reemplazado por rpost con el nombre del artículo
que va a ser filtrado.
arg2 ... - cualesquiera argumentos adicionales que sean necesarios.
Un ejemplo para clarificar esto un poco. A algunos servidores NNTP no les gusta
recibir artículos con el campo NNTP-Posting-Host relleno. Cree un pequeno
script para borrar esto del artículo:
-miscript--------------------------------------------
#!/bin/sh
sed -e "/^NNTP-Posting-Host/d" $1 > $2
-end miscript----------------------------------------
Y ejecute rpost con algo como esto:
rpost -b /usr/spool/news/out.going/pixi -f
miscript \$\$o=/tmp/MSG_FILTRADO \$\$i /tmp/MSG_FILTRADO
Entonces, antes de que cada artículo sea enviado, se llamará a
miscript de este modo:
miscript archivo_con_mensaje
/tmp/MSG_FILTRADO
Tras la finalización de miscript, rpost envía al servidor remoto el
artículo guardado en /tmp/MSG_FILTRADO
NOTA:¶
$$o y $$i tienen que ir precedidos por símbolos de escape, como pueden ser
barras de división invertidas o bien entre comillas simples para evitar
que la shell los interprete como variables y los expanda. ¡ Si no se
tiene esa precaución puede ocurrir que rpost no envíe mensajes !
PRECAUCIÓN:¶
Tenga mucho cuidado con lo que el filtro borra del artículo. Borrar una
línea equivocada puede tener efectos perniciosos más tarde. Por
ejemplo, no borre la línea NSG-ID, pues en ese caso puede ocurrir que un
mismo mensaje sea enviado varias veces, dependiendo de la configuración
de los servidores local y remoto.
ARCHIVO DE ARGUMENTOS DE RPOST¶
Si Vd. especifica un @archivo en la línea de comando, rpost leerá ese
archivo y buscará en él argumentos que serán pasados a rpost.
Puede especificar los mismos argumentos que en la línea de comando. Los
argumentos pueden aparecer en la misma línea o distribuidos en varias
líneas. Puede incluir comentarios. Los comentarios empiezan por '#' y
continúan hasta el final de la línea. Los argumentos de la
línea de comando prevalecen sobre los del archivo. Una ventaja de usar un
archivo de parámetros en lugar de la línea de comandos es que no es
necesario incluir símbolos de escape para prevenir la expansión de
los caracteres especiales como $.
# Ejemplo de archivo de argumentos
-b batch # opción de archivar en un lote
batch
-M # usar el modo de lectura
VALORES DEVUELTOS¶
Rpost devuelve los siguientes valores:
0 = finalizó con éxito
1 = error enviando un artículo
2 = imposible llevar a cabo un proceso de
autorización NNTP con servidor remoto
3 = respuesta inesperada en el curso de una
autorización NNTP.
-1 = otro error fatal.
VÉASE TAMBIÉN¶
suck(1),
testhost(1), lpost(1).