工作排程
工作排程是安排自動伺服器裡的指令或腳本以完成指定工作的 Linux 指令。以工作排程方式執行的腳本通常是修改檔案或資料庫;然而,它們也可以執行其他不需修改伺服器資料的工作,像是送出電子郵件通知。Koha 有很多工作排程供啟用 (搜尋引擎索引、產生逾期通知、清理資料等),本章將說明這些。
Crontab 範例
Koha crontab 在 misc/cronjobs/crontab.example
此範例包括最常用的 cronjobs 的 boilerplate cronjob 款目的樣本。
工作排程
工作排程應該在 misc/ 之下,若在 misc/ 之下找不到而且以標準方式安裝伺服器時則可能在 bin/
備份
每日備份
腳本路徑:misc/cronjobs/backup.sh
做:新增 Koha 資料庫逐日備份。
建議頻率:逐日
搜尋
站台地圖
腳本路徑:misc/cronjobs/sitemap.pl
做:從 Koha instance 產生的書目紀錄與產生網站地圖檔案及其通訊協定都描述於 http://sitemaps.org。此腳本的目標是讓搜尋引擎直接近用書目紀錄。避免搜尋引擎瀏覽 Koha 的 OPAC 產生不必要的流量增加伺服器的工作量。
說明 產生檔案 sitemapindex.xml。藉此參照至多個網站地圖檔案。每個檔案至多可以容納 50,000 URL 並命多為 sitemapXXXX.xml。
檔案必須儲存在 Koha OPAC 的根錄內。就是與 robots.txt 同個目錄包括以下的內容:
Sitemap: sitemapindex.xml User-agent: * Disallow: /cgi-bin/
重建索引
腳本路徑:misc/migration_tools/rebuild_zebra.pl
做:納入最近變更的資料更新 Zebra 索引。
必需用到的:Zebra
頻率建議:每隔 x 分鐘,(5-15 分鐘之間) 視執行所需
流通
預約佇列
腳本路徑:misc/cronjobs/holds/build_holds_queue.pl
做:更新預約順位報表
必須用到:預約順位報表
建議頻率:每 1-4 小時
說明:
應定期執行腳本若您的圖書館系統允許讀者預約在架的館藏。此腳本決定負責滿足此預約的圖書館。
由系統偏好 StaticHoldsQueueWeight <staticholdsqueueweight,-holdsqueueskipclosed-&-randomizeholdsqueueweight-label> 與 RandomizeHoldsQueueWeight 負責控制此排程。
不讓所有圖書館參與館藏滿足預約計畫,應列出*要*參加該計畫的圖書館,包括圖書館的條碼,並以逗點區隔(如:"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
做:預設,此工作排程僅自動執行使用者設定到期日的取消預約。若圖書館使用 ExpireReservesMaxPickUpDelay 與 ExpireReservesMaxPickUpDelayCharge 偏好則此腳本也取消在預約架太久的預約並將 (若圖書館要的) 向讀者收取未提取預約到館費用。
建議頻率:逐日
取消預約
腳本路徑:misc/cronjobs/holds/auto_unsuspend_holds.pl
做:若將 AutoResumeSuspendedHolds 偏好設為 '允許' 則此腳本檢查不需保留的預約並移除它們。此舉將讀者放回保留之前序列。
建議頻率:逐日
固定罰款
腳本路徑:misc/cronjobs/staticfines.pl
做:此腳本計算並列出讀者帳戶內的罰款
說明 若 Koha 系統偏好 'finesMode' 已設為 'production',則向讀者收取罰款。若設為 'test',則計算罰款但不收取。
說明 假日不計入罰款。
逾期太久
腳本路徑:misc/cronjobs/longoverdue.pl
做:允許更改不同程度的遺失館藏,並向讀者收取館藏記錄內的重置價格。
建議頻率:每晚
說明
館員可以經由 DefaultLongOverdueLostValue 與 DefaultLongOverdueChargeValue 偏好控制逾期太久的工作排程。
追蹤借出總數
腳本路徑:misc/cronjobs/update_totalissues.pl
做:以最新的借出現況更新資料庫內 biblioitems.totalissues 欄位的內容。
建議頻率:每晚
警示
需考量資料庫伺服器與 Koha 伺服器的時間不同步的狀況,並使用 --since 參數取代 --interval 參數做為新增性更新的依據。
說明
可以使用此工作排程。也可使用 UpdateTotalIssuesOnCirc 系統偏好。
讀者
批次刪除讀者
腳本路徑: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/printoverdues.sh
做:從目錄的 HTML 檔案產生 PDF 並列印
列印保留通知
腳本路徑:misc/cronjobs/gather_print_notices.pl
做:檢視因為讀者未留電子郵件地址而保留的訊息並產生列印通知
建議頻率:每晚
Talking Tech
設定的詳情參見附錄的 Talking Tech 附錄 的第三方產品說明。
送出通知檔
腳本路徑: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/cart_to_shelf.pl
做:以 CART 位置做為館藏永久位置而更新所有館藏。
必備:NewItemsDefaultLocation、InProcessingToShelvingCart & 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
做:檢查訂閱中的期刊是否有 "遲到" 的刊期,若有,此腳本設定它為遲到,並把下一期列為期待簽收。
建議頻率:每晚
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/purge_suggestions.pl
做:從建議管理區塊移除舊的 (由您定義) 建議。
將建議以電郵送入程序
腳本路徑: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
做:執行已經儲存的報表
Norwegian patron database
NL sync to Koha
Script path: misc/cronjobs/nl-sync-to-koha.pl
Does: sync patrons from the Norwegian national patron database (NL) to Koha
Note Relies on NorwegianPatronDBUsername and NorwegianPatronDBPassword system preferences
NL sync from Koha
Script path: misc/cronjobs/nl-sync-from-koha.pl
Does: sync patrons from Koha to the Norwegian national patron database (NL)
Note Relies on NorwegianPatronDBUsername and NorwegianPatronDBPassword system preferences
不適用的腳本
不應在未修改前執行這些:
腳本路徑:misc/cronjobs/update_items.pl
腳本路徑:misc/cronjobs/smsoverdues.pl
腳本路徑:misc/cronjobs/notifyMailsOp.pl
腳本路徑:misc/cronjobs/reservefix.pl
腳本路徑:misc/cronjobs/zebraqueue_start.pl
Social data
Get report social data
Script path: misc/cronjobs/social_data/get_report_social_data.pl
Does: downloads data from Babelthèque to add to OPAC records
建議頻率:每晚
Update social data
Script path: misc/cronjobs/social_data/update_social_data.pl
Does: updates OPAC records with Babelthèque social data