在 Bnews中,到期被一個稱為到期的程序施行,它作為參數拿了新聞組的一張表,與一個時間說明一起此文章到期。
把不同的層次在不同的時間到期了,你不得不為它們每個分別地調用的到期寫一個手跡。C-NEWS把一個更方便的答案
提供給這個:在一個被稱為explist的文件中 ,你可以指定新聞組和終止間隔。被稱為 doexpire 的一個命令通常從
cron中一天被運用一次,並且根據這張表處理所有的組。
偶爾,在他們到期了以,你可能甚至想要從某個組保留文章;例如,你可能想要使程序郵寄了到 comp.sources.unix 。
這叫作轉存。explist 允許你為轉存標記組。
在 explist 中的一個入口看起來像這樣:grouplist perm times archive
grouplist 是入口使用到其新聞組的一張逗號分開的表。層次可以被給出的組名字前綴指定,選擇性地添加了所有東西。
例如,因為 comp.os 下面為一個入口適用所有的組,你可能進入 grouplist中的comp.os 或 comp.os.all 。
當從一個組的新聞到期,名字以在 explist 中被給出的順序的所有入口被檢查。第一個匹配的入口適用。例如,在四天以
扔掉 comp 的大多數,除了你想要保留一個星期時間的 comp.os.linux.announce ,你簡單地為者有一個入口,它指
定一個七天終止時期,為 comp 被那個列在面了,它指定四天。
如果入口適用適度的,未管理的,或任何組,perm域詳細說明。它可能使價值 m , u ,或 x ,它表示適度的,未管理
的,或任何類型。
第三個域,次數,通常僅僅包含一個單個的數字。這是天的數字,在這些天文章將到期,如果他們沒被分配一個人工的
終止日期在一個到期中:域在文章頭。注意到,這是天的數字,從它到你的地點的日期開始算,而不是郵寄的日期。
時間域可以,然而,比那更復雜。它可以是直到三個數字的聯合,由一個破折號與對方分開了。第一個表示天的數字,它必
須在文章為終止被認為一個候選人以前過去。它使用一個值而不是零,這是很少有用處的。第二個域上面提及的天的確省
數字,在此之它將到期。第三個域是天的數字,在此之一篇文章將無條件到期,不考慮它是否有一個到期:域。只有中
間的數字被給出,其他兩個使缺省值。這些可以被指定使用特殊的入口/bounds/,它被描述在下面。
第四個域,轉存,表示新聞組是否將被轉存,以及在哪兒。如果沒有打算轉存,一個破折號被使用。否則,你使用一個完整
的路徑名字(指向一個目錄),或一個at符號(@)。at符號表示缺省轉存目錄必須通過在命令行上使用-a標志被給到doexpire。
一個存檔目錄應該被新聞擁有。當 doexpire 轉存一篇文章時,即 comp.sources.unix ,它在存檔目錄下面的
comp/sources/unix 目錄中存儲它,如果不存在則創造它。存檔目錄自己,然而,將不被創造。
在你的 doexpire 依靠的 explist 文件中有 兩個特殊的入口。而不是新聞組的一張表,他們有關鍵詞/bounds/和/expired/。
/bounds/入口包含為描述在上面的時間域的三個值的缺省值。
/expired/域決定C新聞將堅持多長的時間在歷史文件中排隊。這是有必要的,因為一旦相應的文章到期了,C新聞將不把一行
從歷史文件中移走,但是將堅持它以防一個副本在這個日期以到達。如果你僅被一個地點輸出,你能保持這價值小。否則,
兩個星期在 UUCP 網絡上是明智的,取決從這些地點中你的文章經歷的延期。
有相當緊密的終止間隔的一個樣品 explist 文件被復制在下面:
與C新聞到期,有很多潛在的麻煩隱約可見。一個是你的新聞閱讀程序可能依靠活躍的文件的第三個域,它在網上包含最低的
文章的數字。當文章到期時,C新聞不更新這個域。如果你需要(或想要)讓這個域代表真實的狀況,你需要在每次運行
doexpire 以運行被稱為 updatemiin 的一個程序。
第二,C新聞不通過掃描新聞組的目錄來到期,但是簡單地檢查歷史文件看文章是否為終止是到期的。如果你的歷史文件某
種程度上來自 sync,文章可能永遠在你的磁盤上,因為C新聞幾乎忘記了他們。你能在 /usr/lib/news/bin/maint 中使用
addmissing 手跡來修理這個,它將增加錯過的文章到歷史文件,或 mkhistory ,它從草稿中重建全部文件。別忘記在調用它
前成為新聞,否則你將用C新聞給一個不能讀的歷史文件上弦。
(http://www.fanqiang.com)
進入【UNIX論壇】
|