ezmlm-archive(1) ezmlm-archive(1) NNAAMMEE ezmlm-archive - create thread and author index for a mailing list archive SSYYNNOOPPSSIISS eezzmmllmm--aarrcchhiivvee [ --ccCCFFTTvvVV ][ --ff _m_s_g_1 ] ][ --tt _m_s_g_2 ] _d_i_r DDEESSCCRRIIPPTTIIOONN eezzmmllmm--aarrcchhiivvee reads the index files from a message archive, and creates a subject index, a collection of subject files, and a collection of author files. These files are suitable as an index for WWW access to, and navigation through a mailing list archive by eezzmmllmm--ccggii((11)). The index files read are created by eezzmmllmm--iiddxx((11)) on a per-list basis and by eezzmmllmm--sseenndd((11)) on a per-message archive for a indexed list. The output files created are: _d_i_r//aarrcchhiivvee//tthhrreeaaddss//yyyyyyyymmmm The thread index. It contains one line per subject, starting with the number of the first message with that subject within the set investigated, ‘‘:’’, a 20 character subject hash, blank, ‘‘’’ where ‘‘n’’ is the number of messages in the thread, blank, and the subject. The file ‘‘yyyymm’’ contains entries for all threads that have messages in the month ‘‘yyyymm’’ or that have messages both before and after that month. The subject hash is a key to the subject files; the message number is a key to the index file. The lines are in ascending order by message number when the index is created _d_e _n_o_v_o on an existing archive. When the messages are added one-by-one as in normal archive opera- tion, ‘‘n’’ is the number of message in the thread _f_o_r _t_h_e _p_a_r_- _t_i_c_u_l_a_r _m_o_n_t_h and the order is in reverse of latest message, i.e. the last extended thread is shown last. The message number accompanying a thread is always a message within the thread. It is the first in archives created on existing lists, and the last message in incrementally created archives. Use the correspond- ing subject index file to get a list of all messages in the thread in ascending order. _d_i_r//aarrcchhiivvee//ssuubbjjeeccttss//xxxx//yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy A subject file. The first line is the subject hash, a space, and the subject. This is followed by one line per message with this subject, in the format message number, ‘‘:’’, date (yyyymm), ‘‘:’’, author hash, blank, author from line. The lines are sorted by message number. The author hash is a key to the author files; the message number is a key to the index file. The file in the example would be for the subject hash ‘‘xxyyyyyyyyyyyyyyyyyy’’. _d_i_r//aarrcchhiivvee//aauutthhoorrss//xxxx//yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy An author file. The first line is the author hash, a space, and the author from line. This is followed by one line per message with this author, in the format message number, ‘‘:’’, date (yyyymm), ‘‘:’’, subject hash, blank, subject. The lines are sorted by message number. The subject hash is a key to the sub- ject files; the message number is a key to the index file. The file in the example would be for the author hash ‘‘xxyyyyyyyyyyyyyyyyyy’’. _d_i_r//aarrcchhnnuumm keeps track of the last message processed. Normally, eezzmmllmm--aarrcchhiivvee will process entries for messages from one above the contents of this file up to an including the message number in _d_i_r//nnuumm. OOPPTTIIOONNSS eezzmmllmm--aarrcchhiivvee writes messages in a crash-proof manner when run in nor- mal mode. When overriding the normal message range with any of the options listed, the normal ssyynncc((33)) of the output files is suppressed for efficiency. Should the computer crash during this time the state of the indices is not defined. Use the --ss option in the (extremely rare) cases where this would be a problem. --cc Create a new index. This overrides _d_i_r//aarrcchhnnuumm causing eezzmmllmm-- aarrcchhiivvee to start with the first message in the archive. Synonym for --ff_0. NNOOTTEE:: eezzmmllmm--aarrcchhiivvee does not remove files in the index. While it will overwrite/update old files it will not remove files that are obsolete for other reasons. --CC (Default.) Process entries starting with the message after the message listed in _d_i_r//aarrcchhnnuumm. --ff _m_s_g_1 Process messages from the archive section (set of 100 messages) containing message _m_s_g_1. This is useful if you have removed part of the archive, as it will shorten processing time and decrease memory use. NNOOTTEE:: eezzmmllmm--aarrcchhiivvee does not remove files in the index. While it will overwrite/update old files it will not remove files that are obsolete for other reasons. The number of messages per thread will be incorrect when using of the --ff and --tt switches leads to partial re-indexing of already indexed messages. --FF (Default.) Do not change the starting message from the default (see --CC). --ss Always sync files. --SS (Default.) Sync files, except when on of the message range mod- ifying options is used. --tt _m_s_g_2 Process messages to message _m_s_g_2 instead of the last message in the archive. Again, files written are corrected, but other files are not explicitly removed. --TT (Default.) Process entries for messages up to the last message in the archive. --vv Display eezzmmllmm--aarrcchhiivvee version info. --VV Display eezzmmllmm--aarrcchhiivvee version info. MMEEMMOORRYY UUSSAAGGEE eezzmmllmm--aarrcchhiivvee stores its linked lists in memory. On at 32-bit architec- ture, it uses 12 bytes per message, 28 bytes per thread (plus one copy of the subject), and 20 bytes per author (plus one copy of the author from line). In normal list use, it processes only at most a few messages at a time, but for initial processing of a large archive, considerable amounts of memory may be used. Assuming 40 bytes for subject/from line, 5 messages per thread, 100,000 messages, and 1000 authors, this is 2.5 MB. For 1,000,000 messages this is about 20 MB. Thus, for large archives, it may be useful to use the _-_t switch to pro- cess the archive in multiple subsets, starting with e.g. the first 100,000, then the next, and so on. SSEEEE AALLSSOO ezmlm-cgi(1), ezmlm-idx(1), ezmlm-send(1), ezmlm(5) ezmlm-archive(1)