工作排程

工作排程是安排自動伺服器裡的指令或腳本以完成指定工作的 Linux 指令。以工作排程方式執行的腳本通常是修改檔案或資料庫;然而,它們也可以執行其他不需修改伺服器資料的工作,像是送出電子郵件通知。Koha 有很多工作排程供啟用 (搜尋引擎索引、產生逾期通知、清理資料等),本章將說明這些。

Crontab 範例

Koha crontab 在 misc/cronjobs/crontab.example

此範例包括最常用的 cronjobs 的 boilerplate cronjob 款目的樣本。

工作排程

工作排程應該在 misc/ 之下,若在 misc/ 之下找不到而且以標準方式安裝伺服器時則可能在 bin/

備份

每日備份

腳本路徑:misc/cronjobs/backup.sh

做:新增 Koha 資料庫逐日備份。

建議頻率:逐日

流通

預約佇列

腳本路徑:misc/cronjobs/holds/build_holds_queue.pl

做:更新預約順位報表

必須用到:預約順位報表

建議頻率:每 1-4 小時

說明:

  • 應定期執行腳本若您的圖書館系統允許讀者預約在架的館藏。此腳本決定負責滿足此預約的圖書館。

    由系統偏好 StaticHoldsQueueWeightRandomizeHoldsQueueWeight 負責控制此排程。

    不讓所有圖書館參與館藏滿足預約計畫,應列出*要*參加該計畫的圖書館,包括圖書館的條碼,並以逗點區隔(如:」MPL,CPL,SPL,BML」 等)。

    預設,預約順位將先列入提取圖書館。若無法滿足,則 build_holds_queue.pl 將取用 StaticHoldsQueueWeight 設定的圖書館。若停用 RandomizeHoldsQueueWeight (預設值為停用),則依 StaticHoldsQueueWeight 偏好設定的圖書館順序,逐一取用。

    例如,系統內有三個規模不一的圖書館(大型、中型與小型),希望由大型圖書館承擔較多的預約責任,StaticHoldsQueueWeight偏好應設為」LRG,MED,SML」。

    若期望各圖書館平均分擔預約的任務,應啟用RandomizeHoldsQueueWeight偏好,將隨機將預約分配給各圖書館。

    讓 StaticHoldsQueueWeight 空白是禁忌,將造成 build_holds_queue 腳本忽略 RandomizeHoldsQueueWeight,使該腳本要求不是隨機卻採用字順方式填入預約。

預約過期

腳本路徑:misc/cronjobs/holds/cancel_expired_holds.pl

做:預設,此工作排程僅自動執行使用者設定到期日的取消預約。若圖書館使用 ExpireReservesMaxPickUpDelayExpireReservesMaxPickUpDelayCharge 偏好則此腳本也取消在預約架太久的預約並將 (若圖書館要的) 向讀者收取未提取預約到館費用。

建議頻率:逐日

取消預約

腳本路徑:misc/cronjobs/holds/auto_unsuspend_holds.pl

做:若將 AutoResumeSuspendedHolds 偏好設為 『允許』 則此腳本檢查不需保留的預約並移除它們。此舉將讀者放回保留之前序列。

建議頻率:逐日

罰款

腳本路徑:misc/cronjobs/fines.pl

做:計算並列出讀者帳戶內的罰款。

必備:finesMode 系統偏好

建議頻率:每晚

固定罰款

腳本路徑:misc/cronjobs/staticfines.pl

做:此腳本計算並列出讀者帳戶內的罰款

說明 若 Koha 系統偏好 『finesMode』 已設為 『production』,則向讀者收取罰款。若設為 『test』,則計算罰款但不收取。

說明 假日不計入罰款。

逾期太久

腳本路徑:misc/cronjobs/longoverdue.pl

做:允許更改不同程度的遺失館藏,並向讀者收取館藏記錄內的重置價格。

建議頻率:每晚

說明

館員可以經由 DefaultLongOverdueLostValueDefaultLongOverdueChargeValue 偏好控制逾期太久的工作排程。

追蹤借出總數

腳本路徑:misc/cronjobs/update_totalissues.pl

做:以最新的借出現況更新資料庫內 biblioitems.totalissues 欄位的內容。

建議頻率:每晚

警示

需考量資料庫伺服器與 Koha 伺服器的時間不同步的狀況,並使用 –since 參數取代 –interval 參數做為新增性更新的依據。

說明

可以使用此工作排程。也可使用 UpdateTotalIssuesOnCirc 系統偏好。

產生讀者檔供離線流通之用

腳本路徑:misc/cronjobs/create_koc_db.pl

做:從 Koha 離線流通 工具產生 borrowers.db 檔案

建議頻率:每週

自動續借

腳本路徑:misc/cronjobs/automatic_renewals.pl

做:若在 流通與罰款規則 裡允許自動續借,將自動續借。

建議頻率:每晚

讀者

批次刪除讀者

腳本路徑:misc/cronjobs/delete_patrons.pl

做:依照未曾借出日期、到期日、上網日期、屬性、或所屬圖書館,批次刪除讀者紀錄。

未確認的註冊

腳本路徑:misc/cronjobs/delete_expired_opac_registrations.pl

做:從 PatronSelfRegistrationExpireTemporaryAccountsDelay 偏好內設定讀者經由 OPAC 自行刪除註冊資料但等待館員核准的期間。

建議頻率:每晚

未確認註冊

腳本路徑:misc/cronjobs/delete_unverified_opac_registrations.pl

做:24 小時內讀者經由 OPAC 自行刪除註冊資料未經館員核准即自動刪除。必須先從 PatronSelfRegistrationVerifyByEmail 偏好設定由讀者的電子郵件確認。

建議頻率:每小時

匿名讀者資料

腳本路徑:misc/cronjobs/batch_anonymise.pl

做:用於匿名讀者資料。此腳本將從流通記錄裡移除讀者號,一方面保護讀者的隱私同時又保持原有的流通記錄。

更新兒童為成人讀者類型

腳本路徑:misc/cronjobs/j2a.pl

做:當青少年/兒童讀者的年齡達到另個讀者類型的標準時將其轉換為對映的該讀者類型。

建議頻率:每晚

DESCRIPTION

此腳本係供青少年讀者類型昇級至成人讀者類型之用,移除保證人,到讀指定讀者類型的年齡下限時昇級至適合的代碼。

USAGE EXAMPLES

「juv2adult.pl」

「juv2adult.pl」 -b=<branchcode> -f=<categorycode> -t=<categorycode> (處理單一分館,並逐一更新讀者類型)

「juv2adult.pl」 -f=<categorycode> -t=<categorycode> -v -n (處理所有分館、顯示全部訊息、報告受影響的讀者。不修改資料庫)

通知

信件佇列:

腳本路徑:misc/cronjobs/process_message_queue.pl

做:處理訊息佇列納入發送給讀者的借出、還入與預約歸檔電子郵件與簡訊以及送給讀者的電子郵件。必須將 EnhancedMessagingPreferences 偏好設為開啟

建議頻率:1-4小時

重要

到期館藏與到期提前通知由 advance_notices cron 控制。

提前通知

腳本路徑:misc/cronjobs/advance_notices.pl

做:應讀者的要求提供 「到期提前」 通知與 「到期館藏」 通知給需要的讀者。需將 EnhancedMessagingPreferences 偏好設為開啟

建議頻率:每晚

說明

此腳本不會真的送出通知。祗把通知置於 訊息佇列 供以後使用

逾期通知

腳本路徑:Script path: misc/cronjobs/overdue_notices.pl

做:準備讀者逾期的訊息 (經電子郵件或列印)

建議頻率:每晚

說明

此腳本不會真的送出通知。它把通知列入 訊息佇列 內供列印之用

參見

此 misc/cronjobs/advance_notices.pl 程式允許您送出訊息給逾期的讀者,或警示他們即將逾期。

Talking Tech

To learn more about setting up this third party product view the Talking Tech chapter.

送出通知檔

腳本路徑:misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl

做:以腳本產生 Spec C 的通知檔案供 Talking Tech i-tiva 電話通知系統。

必備於:TalkingTechItivaPhoneNotification

建議頻率:每晚

收到通知檔案

腳本路徑:misc/cronjobs/thirdparty/TalkingTech_itiva_inbound.pl

做:腳本處理收到來自Talking Tech i-tiva 電話通知系統的結果檔案。

必備於:TalkingTechItivaPhoneNotification

建議頻率:每晚

告知讀者證有效日期

腳本路徑:misc/cronjobs/membership_expiry.pl

做:把借書證到期的警示通知置於 訊息佇列 工作排程。

必備:MembershipExpiryDaysNotice

頻率:每天

處理中/圖書車

腳本路徑:misc/cronjobs/cart_to_shelf.pl

做:以 CART 位置做為館藏永久位置而更新所有館藏。

必備:NewItemsDefaultLocationInProcessingToShelvingCart & ReturnToShelvingCart 系統偏好

建議頻率:每小時

目錄

批次匯入網頁服務

腳本路徑:misc/cronjobs/import_webservice_batch.pl

做:處理批次匯入 『網頁服務』 屬性佇列的工作排程。也可經由 UI 處理批次。

說明

此腳本適用於 OCLC Connexion

Connexion Import Daemon

腳本路徑:misc/bin/connexion_import_daemon.pl

做:daemon 聽取 OCLC Connexion 的請求並回應 OCLC Gateway 規格。讀取 MARC XML 的請求並從組態檔匯入參數轉交給 svc/import_bib

說明

此腳本適用於 OCLC Connexion

批次刪除館藏

腳本路徑:misc/cronjobs/delete_items.pl

做:批次刪除館藏工具向館藏資料庫提出請求,刪除符合條件的館藏。

快速檢查 URL

腳本路徑:misc/cronjobs/check-url-quick.pl

做:檢查書目紀錄的 URL。

說明

此腳本用以重置 check-url.pl

檢查 URL

腳本路徑:misc/cronjobs/check-url.pl

做:檢查 856$u 欄位裡的 URL。腳本的輸出是 CSV 或 HTML 格式。HTML 版本直接連結至 MARC 書目記錄編輯器。

建議頻率:每月

詳情見:http://wiki.koha-community.org/wiki/Check-url_enhancements

經由紀錄標示刪除紀錄

腳本路徑:misc/cronjobs/delete_records_via_leader.pl

做:刪除紀錄標示位置 5 的內容為 『d』 的 MARC 紀錄

更新權威記錄

腳本路徑:misc/cronjobs/merge_authorities.pl

做:依照權威記錄的變動更新對應的書目資料

說明

此腳本的名稱是誤導。此腳本並未合併權威記錄反而合併與其連結的書目記錄。執行腳本時編輯權威記錄將適用於使用權威記錄的書目記錄。

必備於:dontmerge 系統偏好

建議頻率:每晚

更新期刊

腳本路徑:misc/cronjobs/serialsUpdate.pl

做:檢查訂閱中的期刊是否有 「遲到」 的刊期,若有,此腳本設定它為遲到,並把下一期列為期待簽收。

建議頻率:每晚

自動更新館藏

腳本路徑:misc/cronjobs/automatic_item_modification_by_age.pl

做:根據在 依年齡自動修改館藏 工具的規則更新館藏

使用到的是:依年齡自動修改館藏

建議頻率:每晚

OPAC

RSS Feeds

腳本路徑:misc/cronjobs/rss/rss.pl

做:給任何 SQL 詢問使用的 RSS XML 文件 (不是供搜尋結果 RSS feed 使用)。詳情

建議頻率:每小時

權威瀏覽器

腳本路徑:misc/cronjobs/build_browser_and_cloud.pl

做:在 OPAC 產生權威瀏覽的內容

必備於:OpacBrowser 系統偏好

重要

此偏好與工作排程應祗適用於法語系統。

主題/著者雲

腳本路徑:misc/cronjobs/cloud-kw.pl

做:從 Koha Zebra 索引產生 HTML 鍵詞雲。misc/cronjobs/cloud-sample.conf 有若干此腳本運算元的範例。

頻率:這是您可每月執行一次的腳本類型,其內容並不常變動。

系統管理

服務量

腳本路徑:misc/cronjobs/services_throttle.pl

做:重設 xISBN 服務量

建議頻率:每晚

清理資料庫

腳本路徑:misc/cronjobs/cleanup_database.pl

做:截切 sessions 表單、清理 zebra 序列款目、作為記錄與待處理 MARC 檔案。

共享使用統計

路徑腳本:misc/cronjobs/share_usage_with_koha_community.pl

做:經由 UsageStats 功能共享資訊將把您的資訊送至 Hea website

頻率:每月

採訪

清除舊的建議

腳本路徑:misc/cronjobs/purge_suggestions.pl

做:從建議管理區塊移除舊的 (由您定義) 建議。

說明

The system preference PurgeSuggestionsOlderThan defines the number of days used in the script

將建議以電郵送入程序

腳本路徑:misc/cronjobs/notice_unprocessed_suggestions.pl

做:將待處理的採訪建議告知基金擁有者

EDI 訊息處理

腳本路徑:misc/cronjobs/edi_cron.pl

做:送出與接收 EDI 訊息

頻率:每 15 分鐘

移除暫存 EDI 檔案

腳本路徑:misc/cronjobs/remove_temporary_edifiles.pl

做:移除 5 天前的暫存 EDI 檔案

報表

執行報表

腳本路徑:misc/cronjobs/runreport.pl

做:執行已經儲存的報表

挪威讀者資料庫

NL 同步於 Koha

腳本路徑:misc/cronjobs/nl-sync-to-koha.pl

做:同步挪威讀者資料庫 (NL) 於 Koha

說明 回應 NorwegianPatronDBUsername 與 NorwegianPatronDBPassword 系統偏好

NL 同步自 Koha

腳本路徑:misc/cronjobs/nl-sync-from-koha.pl

做:同步 Koha 至挪威全國讀者資料庫 (NL)

說明 回應 NorwegianPatronDBUsername 與 NorwegianPatronDBPassword 系統偏好

社會資料

取得社會資料報表

腳本路徑:misc/cronjobs/social_data/get_report_social_data.pl

做:從 Babelthèque 下載資料加入 OPAC 紀錄

建議頻率:每晚

更新社會資料

腳本路徑:misc/cronjobs/social_data/update_social_data.pl

做:以 Babelthèque 資料更新 OPAC 紀錄

不適用的腳本

不應在未修改前執行這些:

腳本路徑:misc/cronjobs/update_items.pl

腳本路徑:misc/cronjobs/smsoverdues.pl

腳本路徑:misc/cronjobs/notifyMailsOp.pl

腳本路徑:misc/cronjobs/reservefix.pl

腳本路徑:misc/cronjobs/zebraqueue_start.pl