---
name: "pullnews"
section: "8"
platform: "linux"
package: "inn2"
version: "2.4.2-3"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/pullnews/8"
---

# pullnews(8)

a perl script for pulling news from one news machine and feeding it to another.

## NAME

pullnews - a perl script for pulling news from one news machine and feeding it  to another.

## SYNOPSIS

*pullnews* \[ **-c** *config* \] \[ **-g** *groups* \] \[ **-h** \] \[ **-p** *port* \] \[ **-q** \] \[ **-r** *file* \] \[ **-s** *downstream-server* \] \[ remote-server ... \]

## DESCRIPTION

*pullnews* is run as a regular user process. It reads a config file in the users home directory (normally called  *.pullnews*) and connects to the upstream servers defined in there as a reader client. You may specifiy hostnames on the command line to limit the set of remote hosts it connects to, but each host must be listed in the  *.pullnews* file.

For each server it connects to it pulls over articles and feeds them to the downstream (local) server via the IHAVE (feeder) NNTP command. This means the computer *pullnews* is run on must have feeding access to the downstream news host.

*pullnews* is designed for very small sites and is not meant for reverse-feeding large feeds.

You must have Graham Barr's Net::NNTP perl module installed on your system. This is part of the libnet bundle and can be found on CPAN or from Graham's site http://www.connect.net/gbarr/

## OPTIONS

- **-c** *config*

  Normally the config file is stored in $HOME/.pullnews for the user running the  *pullnews* program. The \`\`**-c**'' flag lets you change that.

- **-g** *groups*

  The \`\`**-g**'' flag specifies a collection of groups to get. The value must be a single argument with commas between group names. Each group must be defined in the config file. Only the remote hosts that carry those groups will be contacted.

- **-h**

  The \`\`**-h**'' flag just prints usage.

- **-p** *port*

  The \`\`**-p**'' flag can be used to change connecting port to something other than 119.

- **-q**

  The \`\`**-q**'' flag can be used to make things run more quietly.

- **-r** *file*

  The \`\`**-r**'' flag tells *pullnews* to create an rnews-compatible file, instead of feeding articles.

- **-s** *downstream-server*

  Normally  *pullnews* will feed the articles it retrieves to the news server running on \`\`**localhost**''. The \`\`**-s**'' flag lets you change that.

## CONFIG FILE

The config file for *pullnews* is a series of sets of lines describing the upstream hosts to connect to and the newsgroups to get articles from. A host line has no leading white space and  just has the name of the host to connect to. Group lines come after a host line and have leading white space followed by the group name.

*pullnews* will update the config file to include the time the group was last checked and the highest numbered article successfully retrieved and transfered to the downstream server.

A sample configuration file might look like:

```
# Format group date high
data.pa.vix.com
        rec.bicycles.racing 908086612 783
        rec.humor.funny 908086613 18
        comp.programming.threads
nnrp.vix.com
        comp.std.lisp
```

The group entries for the two rec.\* groups have been updated by an earlier run by *pullnews*, whereas the two comp.\* groups were just inserted by the user and have not yet been checked.

## HISTORY

pullnews was written by James Brister for INN. This is revision 1.4, dated 2002/12/03.

## BUGS

*pullnews* is very simple and is lacking in more sophisticated features (like killing articles based on user-defined conditions) that better pull feeders most certainly have. It also doesn't keep or log much detail on articles transferred.

Due to a limitation in the Net::NNTP perl module, one of the functions in there  is redefined inside the  *pullnews* source. A future release of the libnet packages will fix that.

## SEE ALSO

[ctlinnd(8)](/ctlinnd/8.md), [inn.conf(5)](/inn.conf/5.md), [innd(8)](/innd/8.md), [newsfeeds(5)](/newsfeeds/5.md), [shlock(1)](/shlock/1.md).
