grephistory - Query the INN history database
grephistory [
-eilnqsv] [
-f db] [
message-id]
grephistory queries the INN history database for information about the
specified message-ID. If no flags are given, the program prints the storage
API token of the corresponding article, or "/dev/null" if the
article is listed in the history database but not stored on the server. If the
message-ID cannot be found in the database,
grephistory will print
"grephistory: not found" and exit with a non-zero status.
Be sure to escape any special characters in the message ID from the shell.
Single quotes are recommended for this purpose since many message-IDs contain
dollar signs.
- -e
- Only print the storage token if the article is stored on
the system. (In other words, suppress the "/dev/null" or
"not found" output for missing or remembered articles.)
-
-f db
- Query the history database db rather than the
default history database.
- -i
- Rather than expecting a message-ID on the command line,
grephistory will read a list of message-IDs on standard input, one
per line. Leading and trailing whitespace is ignored, as are any malformed
lines. It will print on standard output those message-IDs which are not
found in the history database. This is used when processing
"ihave" control messages.
- -l
- Display the entire line from the history database, rather
than just the storage API token. If the message-ID is present in the
history database but has no storage API token, grephistory does not
print anything.
- -n
- If the message-ID is present in the history database but
has no storage API token, print "/dev/null" and exit
successfully. This can happen if an article has been cancelled or expired,
but history information has still been retained. This is the default
behavior.
- -q
- Don't print any message, but still exit with the
appropriate status.
- -s
- Rather than expecting a message-ID on the command line,
grephistory will read a list of message-IDs on standard input, one
per line. Leading and trailing whitespace is ignored, as are any malformed
lines. It will print on standard output the storage API tokens for any
articles that are still available, one per line. This flag is used when
processing "sendme" control messages.
- -v
- Print out the hash of the message-ID for diagnostic
purposes, as well as any other requested information. This flag is not
useful with -i or -s.
In case the requested article is not listed in the history database:
% grephistory '<[email protected]>'
grephistory: not found
% grephistory -v '<[email protected]>'
grephistory: not found (hash is 501C66C22932BA91131186D7218201EB)
In case the requested article is listed in the history database but not stored
on the server:
% grephistory '<[email protected]>'
/dev/null
In case the requested article is stored on the server:
% grephistory '<[email protected]>'
@02014A2DD6231FCC00000000000000000000@
% grephistory -l '<[email protected]>'
[B6DDF69376E3CC199246CEC949B3ACAC] 1244517923~-~1244517912
@02014A2DD6231FCC00000000000000000000@
With
sm, we can retrieve the article, and get its posting date:
% grephistory '<[email protected]>' \
| sm | grep Date
Date: Mon, 08 Jun 2009 20:25:12 -0700
% convdate -dc 1244517912
Tue, 9 Jun 2009 03:25:12 -0000 (UTC)
It matches the number recorded in history as for its posting date.
Written by Rich $alz <
[email protected]> for InterNetNews. Rewritten in
POD by Russ Allbery <
[email protected]>.
history(5),
inn.conf(5),
sm(1).