CROSSBOW(1) General Commands Manual (urm) CROSSBOW(1) NAME crossbow ? The minimalist feed aggregator SYNOPSIS crossbow [-cDdqVv] [-i] identifier crossbow -h DESCRIPTION crossbow is simple RSS/Atom feed aggregator, designed to be invoked periodically via cron(8). The feeds to be monitored are specified in the crossbow.conf(5) configuration file. Each feed must declare a URL that is checked for new entries upon invocation, and is associated with a handler that determines how entries are processed. The available handlers are: print Prints a textual representation of each new entry to stdout(3). This handler is intended as a way to turn entries into email, since the output of a cron(8) job is normally mailed to the owner of the crontab(5). exec Handle new entries by means of a subprocess. This handler allows to execute a specialized data scraper for each processed entry. The subprocess can be parametrised with various entry properties, such as the title and the link to the content. pipe Like exec, but the content is made available to the subprocess by means of a pipe(2), so it can be handled regardless of the size. This handler allows to process feeds that deliver a copious amount of content. After each entry has been processed according to the corresponding feed handler, the set of their identifiers is persisted on the filesystem, so that they are marked as seen for the next invocation. The entries that could not be handled successfully (i.e. the subprocess failed) will be processed again on the next round. OPTIONS -c Catch up, marking new items as seen without processing them. The effect is the same as -D, but feeds configured with the print handler are silenced too. -D Do not execute subprocesses for feeds configured with the exec or pipe handlers. -d Do not mark processed items as seen. -h Print help text and exit. -i identifier Only fetch the feed identified by identifier. The identifier can be equivalently supplied as first argument. This flag is useful to escape a feed name that starts with a hyphen. -q Quiet mode. Set the verbosity level to zero, suppressing notifications except for warnings and fatal errors. -V Print version and exit. -v Increase verbosity level. This option can be supplied multiple times for additional verbosity. FILES ~/.crossbow.conf The configuration file. See crossbow.conf(5). ${XDG_CONFIG_HOME}/crossbow.conf Alternative configuration file, honored if ~/.crossbow.conf is not found. ~/.config/crossbow.conf Alternative configuration file, honored if none of the above is found. ~/.crossbow Path for the persistence directory, that is where crossbow will store the set of seen entry identifiers for each feed. The directory is created if it does not exist. A different path for the persistence directory can be specified in the configuration file. See crossbow.conf(5) EXIT STATUS crossbow exits with 0 on success, and with 1 in case of failed feed retrieval or failed entry processing. EXAMPLES See crossbow-cookbook(7). SEE ALSO crossbow-format(5), crossbow.conf(5), crossbow-cookbook(7), cron(8) AUTHORS Giovanni Simoni BUGS Depending on the installed version of libcurl, a file descriptor might leak to the subprocesses (FD_CLOEXEC bit not set). September 14, 2021