1 .. include:: images.rst
8 Koha is supported by a number of background tasks. These tasks can either
9 be periodically executed tasks (cron jobs) or continuously running task called
12 A cron job is a Linux command for scheduling a command or script on your
13 server to complete repetitive tasks automatically. Scripts executed as a
14 cron job are typically used to modify files or databases; however, they
15 can perform other tasks that do not modify data on the server, like
16 sending out email notifications.
18 A daemon is a Linux command that is typically started when the system is
19 booted and runs in the background doing some function. The database used
20 by Koha (either mysql or mariadb) is a daemon as is the webserver (typically
23 Koha has many cron jobs in place that you can enable
24 (search engine indexing, overdue notice generation, data
25 cleanup and more), and a few daemons. This chapter will explain those for you.
28 -------------------------
30 An example of a Koha crontab can be found in misc/cronjobs/crontab.example
32 The example includes sample boilerplate cronjob entries for the most
33 commonly-used cronjobs.
35 .. _cron-jobs-subchapter-label:
38 -------------------------
40 The locations below assume a dev install which puts the crons in misc/,
41 if you have a standard install you may want to look in bin/ for these
42 files if you cannot find them in misc/
44 .. _daily-backup-label:
47 ~~~~~~~~~~~~~~~~~~~~~~~~
50 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52 Script path: misc/cronjobs/backup.sh
54 Does: creates a daily backup of the Koha database.
56 Frequency suggestion: daily
61 ~~~~~~~~~~~~~~~~~~~~~~~~
66 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
68 Script path: misc/cronjobs/sitemap.pl
70 Does: processes all biblio records from a Koha instance and generates sitemap files
71 complying with the protocol as described on http://sitemaps.org. The goal of this
72 script is to be able to provide to search engines direct access to biblio records.
73 It avoids leaving search engines browsing Koha's OPAC which would generate a lot
74 of site traffic and server workload.
77 A file named sitemapindex.xml is generated. It contains references to multiple
78 sitemap files. Each file contains at most 50,000 URLs and is named
81 The files must be stored on the Koha OPAC's root directory. In the same directory
82 a robots.txt file with the following contents is required:
85 ``Sitemap: sitemapindex.xml
89 .. _rebuild-index-label:
92 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
94 Script path: misc/migration\_tools/rebuild\_zebra.pl
96 Does: updates Zebra indexes with recently changed data.
100 Frequency suggestion: every x minutes, (between 5-15 minutes) depending
104 On newer Koha installations, this cron job has been replaced by the
105 :ref:'koha-indexer daemon <_koha-indexer-label>' which indexes new
106 and modified Koha data every 30 seconds.
108 .. _cron-circulation-label:
111 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
113 .. _holds-queue-label:
116 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
118 Script path: misc/cronjobs/holds/build\_holds\_queue.pl
120 Does: updates holds queue report
122 Required by: :ref:`Holds queue report <holds-queue-label>`
124 Frequency suggestion: every 1-4 hours
128 - A script that should be run periodically if your library system
129 allows borrowers to place on-shelf holds. This script decides which
130 library should be responsible for fulfilling a given hold request.
132 It's behavior is controlled by the system preferences
133 :ref:`StaticHoldsQueueWeight <staticholdsqueueweight,-holdsqueueskipclosed-&-randomizeholdsqueueweight-label>` and
134 :ref:`RandomizeHoldsQueueWeight <staticholdsqueueweight,-holdsqueueskipclosed-&-randomizeholdsqueueweight-label>`.
136 If you do not want all of your libraries to participate in the
137 on-shelf holds fulfillment process, you should list the the libraries
138 that \*do\* participate in the process here by inputting all the
139 participating library's branchcodes, separated by commas ( e.g.
140 "MPL,CPL,SPL,BML" etc. ).
142 By default, the holds queue will be generated such that the system
143 will first attempt to hold fulfillment using items already at the
144 pickup library if possible. If there are no items available at the
145 pickup library to fill a hold, build\_holds\_queue.pl will then use
146 the list of libraries defined in StaticHoldsQueueWeight. If
147 RandomizeHoldsQueueWeight is disabled ( which it is by default ), the
148 script will assign fulfillment requests in the order the branches are
149 placed in the StaticHoldsQueueWeight system preference.
151 For example, if your system has three libraries, of varying sizes (
152 small, medium and large ) and you want the burden of holds
153 fulfillment to be on larger libraries before smaller libraries, you
154 would want StaticHoldsQueueWeight to look something like
157 If you want the burden of holds fulfillment to be spread out equally
158 throughout your library system, simply enable
159 RandomizeHoldsQueueWeight. When this system preference is enabled,
160 the order in which libraries will be requested to fulfill an on-shelf
161 hold will be randomized each time the list is regenerated.
163 Leaving StaticHoldsQueueWeight empty is contraindicated at this time.
164 Doing so will cause the build\_holds\_queue script to ignore
165 RandomizeHoldsQueueWeight, causing the script to request hold
166 fulfillment not randomly, but by alphabetical order.
168 .. _expired-holds-label:
171 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
173 Script path: misc/cronjobs/holds/cancel\_expired\_holds.pl
176 where the user has set an expiration date. If the library is using the
177 :ref:`ExpireReservesMaxPickUpDelay` and
178 :ref:`ExpireReservesMaxPickUpDelayCharge`
179 preferences then this script will also cancel holds that have been
180 sitting on the hold shelf for too long and will (if the library does)
181 charge the patron for not picking up the hold.
183 Frequency suggestion: daily
185 .. _unsuspend-holds-label:
188 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
190 Script path: misc/cronjobs/holds/auto\_unsuspend\_holds.pl
192 Does: checks to find holds that should no longer be
193 suspended and removes the suspension if the
194 :ref:`AutoResumeSuspendedHolds` preference is
195 set to 'allow'. This puts the patron back in to the queue where they
196 were when the hold was suspended.
198 Frequency suggestion: daily
203 ^^^^^^^^^^^^^^^^^^^^^^^^^
205 Script path: misc/cronjobs/fines.pl
207 Does: calculates and posts fines to patron accounts.
209 Required by: :ref:`finesMode` system preference
211 Frequency suggestion: nightly
213 .. _staticfines-label:
216 ^^^^^^^^^^^^^^^^^^^^^^^^^
218 Script path: misc/cronjobs/staticfines.pl
220 Does: calculates and charges overdue fines to patron accounts
223 If the Koha system preference 'finesMode' is set to 'production', the fines
224 are charged to the patron accounts. If set to 'test', the fines are calculated but not applied.
227 Fines won't be applied on a holiday.
229 .. _long-overdues-label:
232 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
234 Script path: misc/cronjobs/longoverdue.pl
236 Does: allows one to specify delays for changing items to different lost
237 statuses, and optionally charge for them using the replacement price
238 listed on the item record.
240 Frequency suggestion: nightly
244 Staff can control some of the parameters for the longoverdue cron
246 :ref:`DefaultLongOverdueLostValue <defaultlongoverduelostvalue-&-defaultlongoverduedays-label>` and
247 :ref:`DefaultLongOverdueChargeValue`
250 .. _track-total-checkouts-label:
252 Track total checkouts
253 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
255 Script path: misc/cronjobs/update\_totalissues.pl
257 Does: updates the biblioitems.totalissues field in the database with the
258 latest tally of checkouts based on historical issue statistics.
260 Frequency suggestion: nightly
264 If the time on your database server does not match the time on your Koha
265 server you will need to take that into account, and probably use the
266 --since argument instead of the --interval argument for incremental
271 This cronjob can be used if there is a performance concern. Otherwise,
272 use the UpdateTotalIssuesOnCirc System Preference.
274 .. _generate-patron-file-for-offline-circulation-label:
276 Generate patron file for offline circulation
277 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
279 Script path: misc/cronjobs/create\_koc\_db.pl
281 Does: generates the borrowers.db file for use with the :ref:`Koha offline
282 circulation <offline-circ-tool-for-windows-label>` tool
284 Frequency suggestion: weekly
286 .. _automatic-renewal-label:
289 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
291 Script path: misc/cronjobs/automatic\_renewals.pl
293 Does: renews items if you're allowing automatic
294 renewal with your :ref:`circulation and fine rules <circulation-and-fine-rules-label>`.
296 Frequency suggestion: nightly
301 ~~~~~~~~~~~~~~~~~~~~~~~~~~
303 .. _delete-patrons-label:
306 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
308 Script path: misc/cronjobs/delete\_patrons.pl
310 Does: deletes patron records in batch based on date not borrowed since,
311 expired before, last seen, category code, or library branch.
315 Dates should be in ISO format, e.g., 2013-07-19, and can be
316 generated with date -d '-3 month' "+%Y-%m-%d".
320 The options to select the patron records to delete are **cumulative**.
321 For example, supplying both --expired_before and --library specifies
322 that patron records must meet *both* conditions to be selected for deletion.
326 - --not_borrowed_since
327 Delete patrons who have not borrowed since this date.
330 Delete patrons with an account expired before this date.
333 Delete patrons who have not been connected since this date.
334 The system preference :ref:`TrackLastPatronActivity` must be
335 enabled to use this option.
338 Delete patrons who have this category code.
341 Delete patrons in this library.
344 This flag must be provided in order for the script to actually
345 delete patron records. If it is not supplied, the script will
346 only report on the patron records it would have deleted.
351 .. _unverified-registrations-label:
353 Unverified registrations
354 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
356 Script path: misc/cronjobs/delete\_expired\_opac\_registrations.pl
358 Does: deletes patron registrations that were submitted via the OPAC but
359 not reviewed by the library within the number of days entered in the
360 :ref:`PatronSelfRegistrationExpireTemporaryAccountsDelay`
363 Frequency suggestion: nightly
365 .. _unconfirmed-registrations-label:
367 Unconfirmed registrations
368 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
370 Script path: misc/cronjobs/delete\_unverified\_opac\_registrations.pl
372 Does: deletes patron self registrations that were submitted via the OPAC
373 but not confirmed via email within 24 hours. This is only necessary if
374 you are requiring patrons to confirm their registrations via email with
376 :ref:`PatronSelfRegistrationVerifyByEmail`
379 Frequency suggestion: hourly
381 .. _anonymize-patron-data-label:
383 Anonymize patron data
384 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
386 Script path: misc/cronjobs/batch\_anonymise.pl
388 Does: removes borrowernumbers
389 from circulation history so that the stats are kept, but the patron
390 information is removed for privacy reasons.
392 .. _update-child-to-adult-patron-type-label:
394 Update child to adult patron type
395 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
397 Script path: misc/cronjobs/j2a.pl
399 Does: converts juvenile/child patrons from juvenile patron category and
400 category code to corresponding adult patron category and category code
401 when they reach the upper age limit defined in the Patron Categories.
403 Frequency suggestion: nightly
407 This script is designed to update patrons from juvenile to adult patron
408 types, remove the guarantor, and update their category codes
409 appropriately when they reach the upper age limit defined in the Patron
416 "juv2adult.pl" -b=<branchcode> -f=<categorycode> -t=<categorycode>
417 (Processes a single branch, and updates the patron categories from
418 category to category)
420 "juv2adult.pl" -f=<categorycode> -t=<categorycode> -v -n (Processes all
421 branches, shows all messages, and reports the patrons who would be
422 affected. Takes no action on the database)
427 ~~~~~~~~~~~~~~~~~~~~~~~~~~
429 .. _message-queue-label:
432 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
434 Script path: misc/cronjobs/process\_message\_queue.pl
436 Does: processes the message queue to send the check out, check in and
437 hold filled emails and SMS message to users and sends outgoing emails to
439 :ref:`EnhancedMessagingPreferences` to be
442 Frequency suggestion: 1-4 hours
446 Item due and Advanced due notices are controlled by the
447 :ref:`advance\_notices cron <advanced-notice-label>`.
449 .. _advanced-notice-label:
452 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
454 Script path: misc/cronjobs/advance\_notices.pl
456 Does: prepares "pre-due" notices and "item due" notices for patrons who
457 request them prepares notices for patrons for items just due or coming
459 :ref:`EnhancedMessagingPreferences` to be
462 Frequency suggestion: nightly
466 This script does not actually send the notices. It queues them in
467 the :ref:`message queue <message-queue-label>` for later
469 .. _overdue-notice-label:
472 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
474 Script path: misc/cronjobs/overdue\_notices.pl
476 Does: prepares messages to alert patrons of overdue messages (both via
479 Frequency suggestion: nightly
483 This script does not actually send the notices. It queues them in
484 the :ref:`message queue <message-queue-label>` for later or generates the
485 HTML for later printing
489 The misc/cronjobs/advance\_notices.pl program allows you to send
490 messages to patrons in advance of their items becoming due, or to alert
491 them of items that have just become due.
493 .. _printoverdues-label:
496 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
498 Script path: misc/cronjobs/printoverdues.sh
500 Does: generates PDF files from HTML files in directories and prints them
502 .. _print-hold-notices-label:
505 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
507 Script path: misc/cronjobs/gather\_print\_notices.pl
509 Does: looks through the message queue for hold notices that didn't go
510 through because the patron didn't have an email address and generates a
513 Frequency suggestion: nightly
515 .. _talking-tech-label:
518 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
520 To learn more about setting up this third party product view the
521 :ref:`Talking Tech <talking-tech-label>` chapter.
523 .. _sending-notices-file-label:
526 '''''''''''''''''''''''''''''''''''''''''''''''
528 Script path: misc/cronjobs/thirdparty/TalkingTech\_itiva\_outbound.pl
530 Does: generates Spec C outbound notifications file for Talking
531 Tech i-tiva phone notification system.
534 :ref:`TalkingTechItivaPhoneNotification`
536 Frequency suggestion: nightly
538 .. _receiving-notices-file-label:
540 Receiving notices file
541 ''''''''''''''''''''''''''''''''''''''''''''''''''''
543 Script path: misc/cronjobs/thirdparty/TalkingTech\_itiva\_inbound.pl
545 Does: processes received results files for Talking Tech i-tiva
546 phone notification system.
549 :ref:`TalkingTechItivaPhoneNotification`
551 Frequency suggestion: nightly
553 .. _notify-patrons-of-expiration-label:
555 Notify patrons of expiration
556 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
558 Script path: misc/cronjobs/membership\_expiry.pl
560 Does: sends messages to warn patrons of their card expiration to the
561 :ref:`message queue <message-queue-label>` cron.
563 Requires: :ref:`MembershipExpiryDaysNotice`
567 .. _in-processing/book-cart-label:
569 In processing/book cart
570 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
572 Script path: misc/cronjobs/cart\_to\_shelf.pl
574 Does: updates all items with a location of CART to the item's permanent
577 Required by: :ref:`NewItemsDefaultLocation`,
578 :ref:`InProcessingToShelvingCart`, &
579 :ref:`ReturnToShelvingCart` system preferences
581 Frequency suggestion: hourly
586 ~~~~~~~~~~~~~~~~~~~~~~~~~~
588 .. _import-webservice-batch-label:
590 Import webservice batch
591 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
593 Script path: misc/cronjobs/import\_webservice\_batch.pl
595 Does: processes import bach queues of type 'webservice'.
596 Batches can also be processed through the UI.
600 This script is used for OCLC Connexion
602 .. _connexion-import-daemon-label:
604 Connexion import daemon
605 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
607 Script path: misc/bin/connexion\_import\_daemon.pl
609 Does: listens for OCLC Connexion requests and is compliant with
610 OCLC Gateway specification. It takes requests with MARC XML and import batch
611 parameters from a configuration file and forwards it to svc/import_bib
615 This script is used for OCLC Connexion
617 .. _delete-items-label:
620 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
622 Script path: misc/cronjobs/delete\_items.pl
624 Does: generates a query against the items
625 database and deletes the items matching the criteria specified in the
626 command line arguments.
631 Send the "WHERE" clause generated by the collected C<--where>
632 arguments, as well as items affected to Standard Out.
635 The C<--where> option may called multiple times. The following
636 argument must be a syntactically valid SQL statement which is
637 part of the C<WHERE> clause querying the items table.
638 These are joined by C<AND>.
641 No items will be deleted unless the C<--commit> flag is present.
645 The following are examples of this script:
647 delete_items.pl --where "items.withdrawn ! 0" --where "items.withdrawn_on < $(date --date="13 month ago" --rfc-3339=date)" --commit
649 delete_items.pl --where "itemlost >= '1'" --where "itemlost <='4'" --where "itemlost_on < '2014-04-28'" --commit
651 .. _check-url-quick-label:
654 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
656 Script path: misc/cronjobs/check-url-quick.pl
658 Does: checks URLs from biblio records; scans all URLs found by default in
659 856$u of bibliographic records and displays if resources are available or
664 This script replaces the check-url.pl script
668 - --host=http://default.tld
669 Server host used when URL doesn't have one, ie doesn't begin with
670 'http:'. For example, if --host=mylib.com, then when 856$u contains
671 'img/image.jpg', the url checked is: http://www.mylib.com/image.jpg.
674 Tags containing URLs in $u subfields. If not provided, 856 tag is
675 checked. Multiple tags can be specified, for example:
677 check-url-quick.pl --tags 310 410 856
680 Outputs both successful and failed URLs.
683 Formats output in HTML. The result can be redirected to a file
684 accessible by http. This way, it's possible to link directly to the
685 bibliographic record in edit mode. With this parameter --host-intranet
688 - --host-intranet=http://koha-pro.tld
689 Server host used to link to bibliographic record editing page in
690 Koha intranet interface.
693 Timeout for fetching URLs. By default 10 seconds.
696 Number of simulaneous HTTP requests. By default 200 connexions.
698 .. _check-urls-label:
701 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
703 Script path: misc/cronjobs/check-url.pl
705 Does: checks URLs in 856$u field. Script output can now be formatted in
706 CSV or HTML. The HTML version links directly to MARC biblio record
709 Frequency suggestion: monthly
711 Learn more: http://wiki.koha-community.org/wiki/Check-url_enhancements
713 .. _delete-records-via-leader-label:
715 Delete records via leader
716 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
718 Script path: misc/cronjobs/delete\_records\_via\_leader.pl
720 Does: attempts to delete any MARC records where the leader character 5 equals 'd'.
725 Script will do nothing without this parameter
731 Test mode, does not delete records. Test mode cannot determine
732 if a record/item will be deleted successfully, it will only tell
733 you what records and items the script will attempt to delete.
736 Try deleting items before deleting record.
737 Records with items cannot be deleted.
739 .. _update-authorities-label:
742 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
744 Script path: misc/cronjobs/merge\_authorities.pl
746 Does: updates biblio data with changes to authorities records
750 The name of this script is misleading. This script does not merge
751 authorities together it instead merges authority data with linked
752 bib records. Edits to authority records will be applied to
753 bibliographic records that use that authority when this script is
756 Required by: :ref:`AuthorityMergeLimit <authoritymergelimit-label>`
759 Frequency suggestion: nightly
761 .. _serials-update-label:
764 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
766 Script path: misc/cronjobs/serialsUpdate.pl
768 Does: checks if there is a "late" issue on active subscriptions, and if
769 there is, the script will set it as late, and add the next one as
772 Frequency suggestion: nightly
774 .. _automatic-item-update-label:
776 Automatic item update
777 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
779 Script path: misc/cronjobs/automatic\_item\_modification\_by\_age.pl
781 Does: updates items based on the list of rules set forth in the
782 :ref:`Automatic item modifications by age` tool
784 Required by: :ref:`Automatic item modifications by age`
786 Frequency suggestions: nightly
791 ~~~~~~~~~~~~~~~~~~~~~
796 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
798 Script path: misc/cronjobs/rss/rss.pl
800 Does: produces an RSS XML document for any SQL query (not used for
801 search results RSS feed). :ref:`Learn more <custom-rss-feeds-label>`.
803 Frequency suggestion: hourly
805 .. _authorities-browser-label:
808 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
810 Script path: misc/cronjobs/build\_browser\_and\_cloud.pl
812 Does: generates content for authorities browse in OPAC
814 Required by: :ref:`OpacBrowser` system preference
818 This preference and cron job should only be used on French systems.
820 .. _subject/author-clouds-label:
822 Subject/author clouds
823 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
825 Script path: misc/cronjobs/cloud-kw.pl
827 Does: generates HTML keywords clouds from Koha Zebra indexes.
828 misc/cronjobs/cloud-sample.conf has a sample of how this script
831 Frequency: This is the type of script you can run once a month or so,
832 the content generated isn't going to change very much over time.
834 .. _system-administration-label:
836 System administration
837 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
839 .. _services-throttle-label:
842 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
844 Script path: misc/cronjobs/services\_throttle.pl
846 Does: resets the xISBN services throttle
848 Frequency suggestion: nightly
850 .. _clean-up-database-label:
853 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
855 Script path: misc/cronjobs/cleanup\_database.pl
857 Does: truncates the sessions table, cleans out old zebraqueue entries,
858 action logs and staged MARC files.
860 .. _share-usage-stats-label:
863 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
865 Script path: misc/cronjobs/share\_usage\_with\_koha\_community.pl
867 Does: sends your info to the `Hea
868 website <http://hea.koha-community.org/>`__
869 if you're sharing information via the :ref:`UsageStats`
874 .. _acquisitions-label:
877 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
879 .. _clean-up-old-suggestions-label:
881 Clean up old suggestions
882 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
884 Script path: misc/cronjobs/purge\_suggestions.pl
886 Does: removes old (defined by you) suggestions from the suggestion
891 The system preference :ref:`PurgeSuggestionsOlderThan` defines the number
892 of days used in the script
894 .. _email-suggestions-to-process-label:
896 Email suggestions to process
897 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
899 Script path: misc/cronjobs/notice\_unprocessed\_suggestions.pl
901 Does: generates a notice to the fund owner that there are suggestions in
904 .. _edi-message-processing-label:
906 EDI message processing
907 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
909 Script path: misc/cronjobs/edi\_cron.pl
911 Does: sends and received EDI messages
913 Frequency: Every 15 minutes
915 .. _remove-temporary-edi-files-label:
917 Remove temporary EDI files
918 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
920 Script path: misc/cronjobs/remove\_temporary\_edifiles.pl
922 Does: removes temporary EDI files that are older than 5 days
924 .. _deprecated-scripts-label:
926 .. _cron-reports-label:
929 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
932 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
934 Script path: misc/cronjobs/runreport.pl
936 Does: runs pre-existing saved reports
944 Selects format. Choice of text, html, csv or tsv
947 Whether or not to use e-mail (implied by --to or --from)
950 Attach the report as a file. Cannot be used with html format
953 Username to pass to the SMTP server for authentication
956 Password to pass to the SMTP server for authentication
959 The type of authentication. Ie. LOGIN, DIGEST-MD5, etc.
962 E-mail address to send report to
965 E-mail address to send report from
968 Subject for the e-mail
971 Store the result of the report
974 Add column names as first line of csv output
979 Report ID Number from saved_sql.id, multiple ID's may be specified
981 Norwegian patron database
982 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
985 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
987 Script path: misc/cronjobs/nl-sync-to-koha.pl
989 Does: syncs patrons from the Norwegian national patron database (NL) to Koha
992 Relies on NorwegianPatronDBUsername and NorwegianPatronDBPassword system preferences
995 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
997 Script path: misc/cronjobs/nl-sync-from-koha.pl
999 Does: syncs patrons from Koha to the Norwegian national patron database (NL)
1002 Relies on NorwegianPatronDBUsername and NorwegianPatronDBPassword system preferences
1005 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1007 Get report social data
1008 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1010 Script path: misc/cronjobs/social_data/get\_report\_social\_data.pl
1012 Does: downloads data from Babelthèque to add to OPAC records
1014 Frequency suggestion: nightly
1017 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1019 Script path: misc/cronjobs/social_data/update\_social\_data.pl
1021 Does: updates OPAC records with Babelthèque social data
1023 .. _daemons-subchapter-label:
1026 -------------------------
1028 Daemons are continuously running tasks that help support Koha
1029 operation. Your database and webserver are run as daemons.
1030 Newer versions of Koha start two different daemons for most koha instances:
1032 - zebra - this is the index server
1034 - koha-indexer - this daemon updates the index server with
1035 new and modified data (biblios and authorities)
1037 These daemons are started by the script /etc/init.d/koha-common.
1039 .. _koha-indexer-label:
1041 Zebra indexer daemon
1042 ~~~~~~~~~~~~~~~~~~~~
1044 Script path: /usr/sbin/koha-indexer (invoked from /etc/init.d/koha-common)
1046 The koha-indexer script invokes rebuild_zebra.pl in daemon mode.
1047 In this mode, the script will run continuously and check the database
1048 for new or modified data every 30 seconds. New or modified records
1049 are then sent to Zebra for indexing, which only takes a second or so.
1050 The advantage of this approach is a search system which is much more
1051 responsive to changes, compared to the
1052 :ref:'cron job approach <_rebuild-index-label>'.
1055 --------------------
1057 These should not be run without modification:
1059 Script path: misc/cronjobs/update\_items.pl
1061 Script path:misc/cronjobs/smsoverdues.pl
1063 Script path:misc/cronjobs/notifyMailsOp.pl
1065 Script path:misc/cronjobs/reservefix.pl
1067 Script path:misc/cronjobs/zebraqueue\_start.pl