Cron jobs et Démons
Koha est géré par un certain nombre de tâches de fond. Ces tâches peuvent être exécutées périodiquement (cron jobs) ou tourner en permanence (démons).
Un cron job est une commande Linux permettant de planifier le lancement d’une commande ou d’un script sur votre serveur afin d’exécuter automatiquement des tâches à répéter. Les scripts exécutés en tant que cron job sont généralement utilisés pour effectuer des modifications sur des fichiers ou bases de données ; ils peuvent cependant effectuer d’autres tâches qui ne modifient pas les données sur le serveur, comme expédier des notifications par courriel. Vous pouvez activer plusieurs cron jobs sur Koha (lancement de l’indexation du moteur de recherche, génération d’avertissement pour retard, nettoyage des données, etc…), qui seront détaillées dans ce chapitre.
Un démon est une commande Linux généralement lancée au démarrage du système et exécutée en tâche de fond. La base de données utilisée par Koha (mysql ou mariadb) est un démon, de même que le serveur Web (généralement Apache).
Koha a mis en place de nombreux cron jobs que vous pouvez activer (index des moteurs de recherche, génération d’avis de retard, nettoyage des données, etc.) et quelques démons. Ce chapitre expliquera ceux qui vous intéressent.
Exemple de crontab
Un exemple de crontab Koha se trouve dans misc/cronjobs/crontab.example
Cet exemple contient quelques propositions de paramétrages de cron pour les cronjobs les plus utilisés.
Cron jobs
The locations in the documentation assume a development install where files are found in misc/ relative to the git root checkout. If you have installed using Debian packages or the standard install from source, you will want to look for files in /usr/share/koha/bin/.
Other locations are possible with other installation methods. You can perform a simple find search if they are not located in these directories.
Note
For anyone with shell access using Debian packages, the following command is an easy way to find files installed by a Debian package:
dpkg -L koha-common
This provides a comprehensive listing of the files installed by the koha-common package. You can then easily find the file from there.
Sauvegarde
Sauvegarde quotidienne
Chemin du script: misc/cronjobs/backup.sh
Tâche effectuée : crée une sauvegarde quotidienne de la base de données Koha.
Périodicité préconisée : chaque jour
Rechercher
Carte du site
Chemin du script: misc/cronjobs/sitemap.pl
Tâche effectuée : traite toutes les notices bibliographiques d’une instance Koha et génère une carte du site compatible avec le protocole décrit ici : http://sitemaps.org. Le but de ce script est de pouvoir fournir aux moteurs de recherche un accès direct aux notices bibliographiques. Cela évite de laisser les moteurs de recherche interroger l’OPAC de Koha ce qui génère beaucoup de trafic et une surcharge du serveur.
Note Un fichier nommé sitemapindex.xml est généré. Il contient les références aux différents fichiers sitemap. Chaque fichier contient au maximum 50 000 URLs et est nommé sitemapXXXX.xml.
Ces fichiers doivent être stockés dans le répertoire racine (root) de l’OPAC Koha. Dans le même répertoire, il faut un fichier robots.txt avec le contenu suivant :
Sitemap: sitemapindex.xml User-agent: * Disallow: /cgi-bin/
Reconstruction de l’index
Chemin du script: misc/migration_tools/rebuild_zebra.pl
Tâche effectuée : mise à jour des index Zebra avec les données récemment modifiées.
Requis par : Zebra
Périodicité préconisée : tous les n minutes (plutôt entre 5 et 15 mn), selon le niveau de performance recherché
** Note ** Sur les plus récentes installations Koha, ce cron job a été remplacé par koha-indexer daemon, qui indexe les données Koha, nouvelles et modifiées, toutes les 30 secondes.
Circulation
File des réservations
Chemin du script: misc/cronjobs/holds/build_holds_queue.pl
Tâche effectuée : mise à jour de la file de réservations
Requis par : la file de réservations
Périodicité préconisée : toutes les 15 mn
Description:
Ce script devrait être exécuté régulièrement si vos adhérents sont autorisés à placer des réservations sur des documents en rayon. Le script établit quelle bibliothèque doit prendre en charge la demande de réservation.
Ce processus est contrôlé par les préférences système StaticHoldsQueueWeight et RandomizeHoldsQueueWeight.
Si vous préférez limiter les réservations d’exemplaires disponibles sur les rayons à certaines bibliothèques, ajoutez la liste les codes “branchcodes” de toutes vos bibliothèques participantes qui le *permettre* en prenant soin de les séparer par des virgules (ex. « MPL,CPL,SPL,BML » etc. ).
Par défaut, la file d’attente des réservations priorisera les exemplaires disponibles du site de retrait. S’il n’y a pas d’exemplaire disponible dans ce site, le script build_holds_queue.pl vérifiera la disponibilité d’exemplaires selon la priorité des sites de la préférence StaticHoldsQueueWeight. De plus, si la préférence RandomizeHoldsQueueWeight est désactivée (valeur par défaut), le script choisira l’exemplaire en respectant l’ordre des sites inscrit dans la préférence système StaticHoldsQueueWeight.
Par exemple si votre réseau compte trois sites de taille variable (petit, moyen et grand) et que vous souhaitez que la gestion des réservations soit effectuée par le plus grand site avant le plus petit, votre préférence système StaticHoldsQueueWeight ressemblera à quelquechose comme « LRG,MED,SML ».
Si vous souhaitez répartir de manière équitable la réponse aux demandes de réservations au sein de votre réseau, activez RandomizeHoldsQueueWeight. Lorsque cette préférence système est activée, l’ordre dans lequel les sites devront répondre aux demandes de réservations pour une demande de document disponible sera généré de façon aléatoire à chaque réactualisation de la liste.
Réservations expirées
Chemin du script: misc/cronjobs/holds/cancel_expired_holds.pl
Tâche effectuée : annule les réservations lorsque l’utilisateur a défini une date d’expiration. Si la bibliothèque utilise les préférences ExpireReservesMaxPickUpDelay et ExpireReservesMaxPickUpDelayCharge, ce script annulera également les réservations mises de côtés depuis trop longtemps et placera une amende pour l’adhérent n’ayant pas retiré la réservation (selon la pratique de la bibliothèque).
It is possible to add a cancellation reason with the –reason parameter. Use the cancellation code from the HOLD_CANCELLATION authorized value category
Périodicité préconisée : chaque jour
Réactivation des réservations
Chemin du script: misc/cronjobs/holds/auto_unsuspend_holds.pl
Tâche effectuée : recherche les réservations qui ne doivent plus être suspendues et supprime la suspension si la préférence AutoResumeSuspendedHolds a la valeur “autoriser”. L’adhérent est replacé dans la file des réservations là où il se trouvait lorsque la réservation a été suspendue.
Périodicité préconisée : chaque jour
Amendes
Chemin du script: misc/cronjobs/fines.pl
Tâche effectuée : calcule et affecte (ou augmente) les amendes pour retard sur le compte adhérent. Le calcul des amendes se fait selon la période de grâce, l’intervalle de facturation, le montant des amendes et d’autres paramètres des règles de circulation.
Requis par: la préférence système finesMode
Périodicité préconisée : chaque jour
Note Si la préférence système “finesMode” a la valeur “production”, les amendes sont ajoutées dans les comptes des adhérents. Si la valeur de cette préférence système est “test”, les amendes sont calculées mais pas appliquées.
Note Les amendes ne sont pas appliquées pour un jour déclaré fermé.
PARAMÈTRES - -h|–help
obtenir un message d’aide
-l|–log
enregistrer l’affichage dans un fichier (optionnel si le paramètre -o est donné)
-o|–out
répertoire d’affichage des logs (par défaut en env ou /tmp si le répertoire n’existe pas)
-v|–verbose mode verbeux
verbose mode verbeux
-m|–maxdays
combien de jours de retard à calculer
ceci peut améliorer la performance simplement par le nombre de notices qui doivent être parcourues. Il peut être plus sûr de limiter les retards calculés à ceux en-dessous de X jours étant donné que les règles de circulation plafonnent souvent les amendes après un certain nombre de jours.
Amendes fixes
Chemin du script: misc/cronjobs/staticfines.pl
Tâche effectuée : affecte une seule amende fixe pour tous et n’importe quels retards d’un adhérent. Le montant est défini soit sur la ligne de commande par catégorie d’adhérent soit par les règles de circulation associées au document avec le retard le plus important encore sur la carte de l’adhérent (uniquement pour la première période). Une fois affectée, l’amende est fixe : aucune autre amende n’est ajoutée jusqu’à ce que l’amende en cours soit réglée.
Périodicité préconisée : chaque jour
Note Si la préférence système “finesMode” a la valeur “production”, les amendes sont ajoutées dans les comptes des adhérents. Si la valeur de cette préférence système est “test”, les amendes sont calculées mais pas appliquées.
Note Les amendes ne sont pas appliquées pour un jour déclaré fermé.
Batch writeoff charges
Chemin du script : misc/cronjobs/writeoff_debts.pl
Does: writes off outstanding charges in patron accounts.
PARAMÈTRES
Note
The options to select the debt records to writeoff are cumulative. For example, supplying both
--added_before
and--type
specifies that the accountline must meet both conditions to be selected for writeoff.Note
You must use at least one of the filtering options for the script to run. This is to prevent an accidental “writeoff all” operation.
-h | --help
Affiche un message d’aide.
-v | --verbose
Verbose output.
--added-before
Write off charges added before the specified date.
Les dates doivent être en format ISO, ex 2013-07-19, et peuvent être générées avec
date -d '-3 month' --iso-8601
.
--added-after
Write off charges added after the specified date.
Les dates doivent être en format ISO, ex 2013-07-19, et peuvent être générées avec
date -d '-3 month' --iso-8601
.Version
The
--added-after
parameter was added in Koha version 23.11.
--category-code
Write off charges of patrons belonging to the specified categories.
Repeatable.
Version
The
--category-code
parameter was added in Koha version 23.11.
--type
Write off charges of the specified type.
Accepts a list of debit type codes.
--file
Write off charges passed as one accountlines_id per line in this file.
If other criteria are defined it will only writeoff those in the file that match those criteria.
--confirm
This parameter is needed to actually writeoff the charges.
Running the script without this parameter will only output which charges would have been written off.
EXEMPLES D’UTILISATION
writeoff_debts.pl --added_after 2023-06-20 --confirmWill write off charges added after 2023-06-20.
writeoff_debts.pl --added_before `date -d '-3 month' --iso-8601` --category-code K --confirmWill write off charges older than 3 months for patrons in the “K” category.
Restrict patrons with fines
Version
This script was added to Koha in version 23.11.
Script path: misc/cronjobs/debar_patrons_with_fines.pl
Does: Adds a manual restriction to patrons with more than X amount in unpaid charges.
Frequency suggestion: nightly or depending on needs
PARAMÈTRES
-h | --help
Displays the help message.
-a | --amount
Minimum amount the patron owes in order to be restricted.
Defaults to 0, meaning anyone who owes anything will be restricted.
-m | --message
Message to be added as the restriction comment.
-f | --messagefile
File that contains the message to be added as the restriction comment.
-e | --expiration
Expiration date for the restriction.
-c | --confirm
Use this parameter to confirm the changes.
Without this parameter, no patrons will be restricted.
-v | --verbose
Shows which patrons are affected.
EXEMPLES D’UTILISATION
debar_patrons_with_fines.pl -a 5 -m "Fines" -v
Will show which patrons have more than 5 in unpaid fees, but will not actually
restrict them (missing --confirm
parameter).
debar_patrons_with_fines.pl -a 5 -m "Fines" -e '2024-12-31' -v -c
Will restrict patrons who owe more than 5, the restriction will have the comment « Fines » and will expire on 2024-12-31. The script output will also show which patrons were restricted.
Retards de longue durée
Chemin du script: misc/cronjobs/longoverdue.pl
Tâche effectuée : permet de spécifier des délais avant de changer le statut des exemplaires perdus, et optionnellement de les facturer en utilisant le montant de remplacement indiqué dans la notice de l’exemplaire.
Périodicité préconisée : chaque jour
Note
Staff can control some of the parameters for the longoverdue cron job with the DefaultLongOverdueLostValue and DefaultLongOverdueDays, DefaultLongOverdueSkipLostStatuses, DefaultLongOverdueChargeValue, DefaultLongOverduePatronCategories, and DefaultLongOverdueSkipPatronCategories system preferences.
PARAMÈTRES
-l | --lost
This option takes the form of n=lv, where n is the number of days overdue, and lv is the value from the LOST authorized value category the item should be set to after the number of days.
The DefaultLongOverdueLostValue and DefaultLongOverdueDays system preferences can be used to set these two values from the staff interface instead of from the cron job directly. If the system preferences are set, there is no need to use the
--lost
parameter.
-c | --charge
This specifies which lost status triggers Koha to charge the item’s replacement cost to the patron.
The DefaultLongOverdueChargeValue system preference can be used to set the value from the staff interface instead of from the cron job directly.
If neither the
--charge
parameter nor the DefaultLongOverdueChargeValue are set, the long overdue process will not charge the patron for the lost item.
--confirm
This parameter is required for the script to change values. Without this option, the script will report the number of affected items without modifying any records.
-v | --verbose
This parameter prints out the number of affected items.
--quiet
This parameter suppresses the regular output.
--maxdays
This parameter specifies the end of the range of overdue days to deal with.
If this parameter is not specified, it defaults to 366.
--mark-returned
This parameter removes the long overdue items from the patrons” checkouts.
The MarkLostItemsAsReturned system preference can be used to set this parameter from the staff interface instead of from the cron job directly.
-h | --help
This parameter displays a short help message and exits.
-man | --manual
This parameter displays the entire help message and exits.
--category
This parameter is used to limit the processing to a specific patron category. All other categories will be excluded.
This parameter is repeatable to include multiple categories.
The DefaultLongOverduePatronCategories system preference can be used to set the categories to be included from the staff interface instead of from the cron job directly.
Important
This parameter cannot be used with
--skip-category
.Similarly, the DefaultLongOverduePatronCategories system preference cannot be used with the DefaultLongOverdueSkipPatronCategories system preference.
--skip-category
This parameter is used to exclude a specific patron category from the process. All other categories will be included.
This parameter is repeatable to exclude multiple categories.
The DefaultLongOverdueSkipPatronCategories system preference can be used to set the categories to be excluded from the staff interface instead of from the cron job directly.
Important
This parameter cannot be used with
--category
.Similarly, the DefaultLongOverdueSkipPatronCategories system preference cannot be used with the DefaultLongOverduePatronCategories system preference.
--list-categories
This parameter lists the available patron categories which can be used in
--category
or--skip-category
and exits.
--library
This parameter is used to limit the processing to a specific library code. All other libraries will be excluded.
This parameter is repeatable to include multiple libraries.
The selected libraries follow the CircControl system preference.
Important
This parameter cannot be used with
--skip-library
.--skip-library
This parameter is used to exclude a specific library from the process. All other libraries will be included.
This parameter is repeatable to exclude multiple libraries.
The selected libraries follow the CircControl system preference.
Important
This parameter cannot be used with
--library
.--itemtype
This parameter is used to limit the processing to a specific item type code. All other item types will be excluded.
This parameter is repeatable to include multiple item types.
Important
This parameter cannot be used with
--skip-itemtype
.--skip-itemtype
This parameter is used to exclude a specific item type from the process. All other item types will be included.
This parameter is repeatable to exclude multiple item types.
Important
This parameter cannot be used with
--itemtype
.--list-itemtypes
This parameter lists the available item type which can be used in
--itemtype
or--skip-itemtype
and exits.
--skip-lost-value
This parameter is used to exclude a specific LOST value from the process. All other values will be included.
The DefaultLongOverdueSkipLostStatuses system preference can be used to set the lost values to be excluded from the staff interface instead of from the cron job directly.
EXEMPLES D’UTILISATION
misc/cronjobs/longoverdue.pl --lost 30=1 --confirm
Will set the lost status to 1 for all items overdue for more than 30 days (up to 366 days).
misc/cronjobs/longoverdue.pl --lost 60=2 --charge 2 --confirm
Will set the lost status to 2 for all items overdue for more than 60 days (up to 366 days), and charge the patrons the replacement cost.
Suivi du nombre total de prêts
Chemin du script: misc/cronjobs/update_totalissues.pl
Tâche effectuée : met à jour le champ biblioitems.totalissues dans la base de données avec le dernier décompte de prêts calculé à partir de l’historique des prêts de la table statistics.
Périodicité préconisée : chaque jour
Attention
Si le temps dans votre base de données ne concorde pas avec le temps sur votre serveur Koha, vous devrez prendre cela en compte, et probablement utiliser –since plutôt que –interval pour la mise a jour incrémentielle.
Note
This cronjob can be used if there is a performance concern. Otherwise, use the UpdateTotalIssuesOnCirc System preference.
Génération d’un fichier d’adhérents pour le prêt secouru
Chemin du script: misc/cronjobs/create_koc_db.pl
Tâche effectuée : génère le fichier borrowers.db utilisé par l’outil Koha Offline Circulation
Périodicité préconisée : chaque jour
Renouvellement automatique
Chemin du script: misc/cronjobs/automatic_renewals.pl
Tâche effectuée : renouvelle automatiquement les prêts si vous utilisez les renouvellements automatiques dans vos règles de circulation et d’amendes.
Périodicité préconisée : chaque jour
Important
Pour le lancer correctement, vous devez utilisez le paramètre –confirm, sinon, il ne se lancera qu’en mode test
PARAMÈTRES - -h|–help
obtenir un message d’aide
–send-notices
envoie la notification AUTO_RENEWALS aux adhérents si le renouvellement automatique a été fait
-v|–verbose mode verbeux
verbose mode verbeux
-c|–confirmer
sans ce paramètre aucun changement ne sera effectué, le script tournera en mode test
sans ce paramètre, le script choisira le mode verbeux par défaut
Automatic checkin
Chemin du script: misc/cronjobs/automatic_checkin.pl
Does: automatically checks in items after the loan period. This is set at the item type level.
Périodicité préconisée : chaque jour
Note
Optionally, holds can be filled automatically when items are checked in with this script. This option is enabled with the AutomaticCheckinAutoFill system preference.
Recalls
Expire recalls
Chemin du script: misc/cronjobs/recalls/expire_recalls.pl
Does: automatically marks as expired recalls that
have been requested, but have not been fulfilled and are past their expiry date
recalls that have been awaiting pickup longer than the pickup period in the circulation rules or the period set in the RecallsMaxPickUpDelay system preference
Périodicité préconisée : chaque jour
Overdue recalls
Chemin du script: misc/cronjobs/recalls/overdue_recalls.pl
Does: sets a recalled item as overdue if it hasn’t been returned by the adjusted due date
Périodicité préconisée : chaque jour
Utilisateurs
Suppression d’adhérents par lots
Chemin du script: misc/cronjobs/delete_patrons.pl
Tâche effectuée : supprime par lot les adhérents sur les critères suivants : pas de prêt depuis, compte expiré avant, vu pour la dernière fois, catégorie d’adhérent, bibliothèque.
Note
Les dates doivent être en format ISO, ex 2013-07-19, et peuvent être générées avec date -d “-3 mois” « +%Y-%m-%d ».
Important
Les options permettant de sélectionner les fiches d’adhérents à supprimer sont ** cumulatives **. Par exemple, fournir à la fois –expired_before et –library spécifie que les fiches d’adhérents doivent satisfaire à * deux * conditions pour être sélectionnées en vue de leur suppression.
PARAMÈTRES
–not_borrowed_since Supprime les adhérents qui n’ont pas emprunté depuis cette date.
Avertissement
Patrons who have all their old checkouts anonymized will have an empty circulation history and be deleted if this option is used. Anonymization can happen because the patron has borrowers.privacy = 2, through cronjobs doing anonymization or by the patron choosing to anonymize their history in the OPAC.
–expired_before Supprime les adhérents dont le compte a expiré avant cette date.
–last_seen Supprime les adhérents qui ne se sont pas connectés depuis cette date. La préférence système TrackLastPatronActivity doit être activée pour utiliser cette option.
–category_code Supprime les adhérents qui ont ce code de catégorie.
–library Supprime les adhérents de cette bibliothèque.
-c|–confirm Cet indicateur doit être fourni pour que le script supprime réellement les fiches des adhérents. S’il n’est pas fourni, le script ne signalera que les adhérents qu’il aurait supprimés.
-v|–verbose Mode verbeux
Anonymisation des données d’adhérents
Chemin du script: misc/cronjobs/batch_anonymise.pl
Tâche effectuée : supprime les numéros d’adhérents de l’historique de circulation, de sorte que les statistiques soient conservées, mais les informations sur les adhérents sont supprimées pour des raisons de confidentialité
Mise à jour des catégories d’adhérents
Chemin du script: misc/cronjobs/update_patrons_category.pl
Tâche effectuée : modifie la catégorie d’adhérents des adhérents remplissant aux critères donnés en une autre catégorie. Cela peut être utilisé pour mettre à jour de jeunes adhérents relevant d’une catégorie Enfant vers une catégorie Adulte lorsqu’ils atteignent la limite d’âge supérieure définie dans les catégories d’adhérents.
Ce script remplace le script j2a.pl.
Périodicité préconisée : chaque jour
DESCRIPTION
Ce script est conçu pour faire passer les adhérents d’une catégorie vers une autre en utilisant le critère spécifié en utilisant des arguments de ligne de commande.
PARAMÈTRES
–too_old Update, si l’adhérent est au-delà de la limite d’âge supérieure de sa catégorie d’adhérents.
–too_young Update, si l’adhérent est en-deçà de la limite d’âge minimum de sa catégorie d’adhérents.
–fo=X|–fineover=X Update, si le montant total des amendes sur le compte de l’adhérent est au-delà de X.
–fo=X|–fineover=X Update, si le montant total des amendes sur le compte de l’adhérent est en-deçà de X.
–rb=date|regbefore=date Update, si la date d’inscription de l’adhérent est avant une date donnée.
–rb=date|regbefore=date Update, si la date d’inscription de l’adhérent est après une date donnée.
-d –field name=value Update, si la condition définie est remplie. <name> doit être remplacé par un nom de colonne de la table borrowers. La condition est remplie si le contenu du champ est égal à <value>.
–where <conditions> Update, si la clause SQL <where> est remplie.
-v|–verbose Mode verbeux : Sans ce flag seules les erreurs fatales sont rapportées.
-c[–confirm Confirme les changements de la base de données. Aucun changement ne sera effectué si cet argument n’est pas ajouté à la commande.
-b|–branch <branchcode> Update, si le site de rattachement de l’adhérent correspond à un <branchcode> donné.
-f|–form <categorycode> Met à jour, si l’adhérent a ce code de catégorie d’adhérents.
-t|–to <categorycode> Met à jour les adhérents correspondants aux critères de cette catégorie d’adhérents.
EXEMPLES D’UTILISATION
« update_patrons_category.pl »
« update_patrons_category.pl » -b=<branchcode> -f=<categorycode> -t=<categorycode> -c » (Traite un seul site, et met à jour les catégories d’adhérents de l’une des catégories vers l’autre)
« update_patrons_category.pl » -f=<categorycode> -t=<categorycode> -v » (Traite tous les sites, montre tous les messages, indique les adhérents qui vont être traités. Ne modifie pas la base de données)
Update patrons” messaging preferences
Chemin du script: misc/maintenance/borrowers-force-messaging-defaults.pl
Action : met à jour les préférences de notifications des adhérents avec les valeurs par défaut paramétrées dans les catégories d’adhérents.
Messaging preferences defaults are automatically set when adding a new patron or when importing patrons with the patron import tool. However, if you import patrons directly in the database, these messaging preferences will not be set.
There is no suggested frequency. This is a tool to be used when needed, although if you regularly import patrons directly in the database (through a third-party, for example), you can add it to your crontab.
DESCRIPTION
If the EnhancedMessagingPreferences system preference is enabled after borrowers have been created in the DB, those borrowers won’t have messaging transport preferences default values as defined for their borrower category. So you would have to modify each borrower one by one if you would like to send them “Hold Filled” notice for example.
This script creates/overwrites messaging preferences for all borrowers and sets them to default values defined for the category they belong to (unless you use the options -not-expired or -no-overwrite to update a subset).
PARAMÈTRES
--help
Display help message.
--doit
Update the patrons. The script will not update patrons” messaging preferences without this option. It will only list the patrons who would have been updated.
--not-expired
Only update patrons who are still active (whose files are not yet expired).
--no-overwrite
Only update patrons without any messaging preferences. This option will skip patrons who have already set their preferences.
--category
Only update patrons from the specified category.
Avertissement
This option cannot be repeated.
Par exemple :
borrowers-force-messaging-defaults.pl --doit --category PT --category Bwill only update patrons from category B (the last category specified).
--library
Will only update patrons whose home library matches the given branchcode.
Version
The
--library
parameter was added in Koha version 23.11.
--message-name
Will only update preferences for the specific message.
The list of values can be found in installer/data/mysql/mandatory/sample_notices_message_attributes.sql, in message_attributes.message_name in the database, or in the notices and slips tool.
Version
The
--message-name
parameter was added in Koha version 23.11.
--since
Only update patrons enrolled since the specified date.
Note
This option can use specific or relative dates.
Par exemple :
borrowers-force-messaging-defaults.pl --doit --since "2022-07-12"will only update patrons enrolled since July 12, 2022.
And:
borrowers-force-messaging-defaults.pl --doit --since `date -d "1 day ago" '+%Y-%m-%d'will only update patrons enrolled since yesterday.
EXEMPLES D’UTILISATION
borrowers-force-messaging-defaults.pl --doitUpdates all patrons to give them the default messaging preferences values from their respective category.
borrowers-force-messaging-defaults.pl --doit --not-expiredUpdates all patrons whose memberships are not expired to give them the default messaging preferences values from their respective category.
borrowers-force-messaging-defaults.pl --doit --category PTUpdates all patrons in the PT category to give them the default messaging preferences for that category.
borrowers-force-messaging-defaults.pl --doit --no-overwrite --since "2022-03-01"Updates patrons who do not have any messaging preferences set and who are enrolled since March 1st, 2022.
borrowers-force-messaging-defaults.pl --doit --no-overwrite --since `date -d "1 day ago" '+%Y-%m-%d'Updates patrons who do not have any messaging preferences set and who are enrolled since yesterday.
borrowers-force-messaging-defaults.pl --doit --library CPLUpdates patrons whose home library is CPL.
borrowers-force-messaging-defaults.pl --doit --message-name Item_dueUpdates preferences for the « Item due » message only.
Notifications
File des messages
Chemin du script: misc/cronjobs/process_message_queue.pl
Does: processes the message queue to send outgoing emails and SMS messages to patrons. Messages are queued in the message queue by other scripts, such as advance_notices.pl, overdue_notices.pl, and holds_reminder.pl.
Note
Requires that EnhancedMessagingPreferences be set to “Allow”.
Périodicité préconisée : toutes les 15 mn
DESCRIPTION
This script processes the message queue in the message_queue database table. It sends out the messages in that queue and marks them appropriately to indicate success or failure. It is recommended that you run this regularly from cron, especially if you are using the advance_notices.pl script.
PARAMÈTRES
-u | –username
Username of the mail account used to send the notices.
-p | –password
Password of mail account used to send the notices.
-t | –type
If supplied, only processes this type of message. Possible values are
sms
Repeatable
-c | –code
If supplied, only processes messages with this letter code.
Repeatable.
-l | –limit
The maximum number of messages to process for this run.
-m | –method
Méthode d’authentification requise par le serveur SMTP (voir perldoc Sendmail.pm pour les types d’authentification pris en charge).
-h | –help
Help message.
-v | –verbose
Provides verbose output to STDOUT.
-w | –where
Filter messages to send with additional conditions in a where clause.
Notifications de préavis
Chemin du script: misc/cronjobs/advance_notices.pl
Tâche effectuée : prépare les notifications « pre due » (PREDUE) et « item due » (DUE) pour les adhérents qui en ont fait la demande. Nécessite d’activer EnhancedMessagingPreferences
Périodicité préconisée : chaque jour
Note
Ce script n’envoie pas de notifications. Il les place dans la file des messages pour plus tard
Notifications de retard
Chemin du script: misc/cronjobs/overdue_notices.pl
Tâche effectuée : prépare les messages de retard pour les usagers (à la fois en version email et imprimée)
Périodicité préconisée : chaque jour
DESCRIPTION
This script creates and queues the overdue notices according to the parameters set in the overdue notice/status triggers tool.
PARAMÈTRES
-n | –nomail
Do not send any email. Overdue notices that would have been sent to the patrons or to the admin are printed to standard out. CSV data (if the –csv flag is set) is written to standard out or to any CSV filename given.
–max <days>
Maximum days overdue to deal with.
Items overdue since longer than max days are assumed to be handled somewhere else, probably the longoverdues script. They are therefore ignored by this script. No notices are sent for them, and they are not added to any CSV files.
Defaults to 90 days.
–library <branchcode>
Only deal with overdues from this library.
Use the value in the branches.branchcode table.
This parameter is repeatable, to process overdues for a group of libraries.
–csv <filename>
Produces a CSV file.
If the -n (no mail) flag is set, this CSV data is sent to standard out or to a filename if provided. Otherwise, only overdues that could not be emailed are sent in CSV format to the admin.
–html <directory>
Output html to a file in the given directory.
If a patron does not have an email address or if the -n (no mail) flag is set, an HTML file is generated in the specified directory. This can be downloaded or further processed by library staff.
The file will be called notices-YYYY-MM-DD.html and placed in the directory specified.
–text <directory>
Output plain text to a file in the given directory.
If a patron does not have an email address or if the -n (no mail) flag is set, a text file is generated in the specified directory. This can be downloaded or further processed by library staff.
The file will be called notices-YYYY-MM-DD.txt and placed in the directory specified.
–itemscontent <list of fields>
Item information in templates.
Takes a comma separated list of fields that get substituted into templates in places of the <<items.content>> placeholder.
Defaults to due date,title,barcode,author
Other possible values come from fields in the biblio, items and issues tables.
–borcat <categorycode>
Prepare only overdue notices for specified patron categories.
This parameter is repeatable, to include several patron categories.
Use the value in categories.categorycode.
–borcatout <categorycode>
Do not prepare overdue notices for specified patron categories.
This parameter is repeatable, to exclude several patron categories.
Use the value in categories.categorycode.
t | –triggered
This option causes a notice to be generated if and only if an item is overdue by the number of days defined in the overdue notice trigger.
By default, a notice is sent each time the script runs, which is suitable for less frequent run cron script, but requires syncing notice triggers with the cron schedule to ensure proper behavior.
Add the –triggered option for daily cron, at the risk of no notice being generated if the cron fails to run on time.
–test
This option makes the script run in test mode.
In test mode, the script won’t make any changes on the DB. This is useful for debugging configuration.
–list-all
By default, <<items.content>> lists only those items that fall in the range of the currently processing notice.
Choose –list-all to include all overdue items in the list (limited by the –max setting).
–date <yyyy-mm-dd>
Emulate overdues run for this date.
–email <email_type>
Specify the type of email that will be used.
Can be “email”, “emailpro” or “B_email”.
This parameter is repeatable.
–frombranch
Organize and send overdue notices by home library (item-homebranch) or checkout library (item-issuebranch).
Defaults to item-issuebranch.
Note
This option is only used if the OverdueNoticeFrom system preference is set to “command-line option”.
EXEMPLES D’UTILISATION
« overdue_notices.pl »
(All libraries are processed individually, and notices are prepared for all patrons with overdue items for whom we have email addresses. Messages for those patrons for whom we have no email address are sent in a single attachment to the library administrator’s email address, or to the address in the KohaAdminEmailAddress system preference.)
« overdue_notices.pl -n –csv /tmp/overdues.csv »
(Sends no email and populates /tmp/overdues.csv with information about all overdue items.)
« overdue_notices.pl –library MAIN max 14
(Prepares notices of overdues in the last 2 weeks for the MAIN library.)
Note
Ce script n’envoie pas de notifications. Il les place dans la file des messages pour plus tard ou génère le code HTML pour une impression ultérieure.
Note
Voir aussi :
Le script misc/cronjobs/advance_notices.pl permet d’envoyer aux adhérents des messages pour les documents à retourner prochainement ou pour les documents à retourner dès à présent (messages de courtoisie).
The misc/cronjobs/process_message_queue.pl script sends the emails.
Holds reminder
Script path: misc/cronjobs/holds/holds_reminder.pl
Does: prepares reminder messages to be sent to patrons with waiting holds.
EnhancedMessagingPreferences must be set to “Allow”, and patrons must have requested to have this notice (either through the Messaging tab in their online account in the OPAC, if EnhancedMessagingPreferencesOPAC is set to “Show”, or in their messaging preferences in the staff interface).
Périodicité préconisée : chaque jour
PARAMÈTRES
-c | –confirm
Confirm flag, no email will be generated if this parameter is not set
-date <YYYY-MM-DD>
Send notices as would have been sent on a specific date
-days <number of days>
Number of days the hold has been waiting
If this parameter is not set, a notice will be sent to all patrons with waiting holds
Optional parameter
-holidays
Use the calendar exclude holidays from waiting days
-lettercode <lettercode>
Code of the predefined notice to use
Optional parameter, the default is HOLD_REMINDER
-library <branchcode>
Only deal with holds from this library
This flag is repeatable, to select notices for a group of libraries
-mtt <message_transport_type>
Type of messages to send (email, sms, print)
“email” and “sms” will fall back to “print” if the patron does not have an email address/phone number
The default is to use the patrons” messaging preferences for the “Hold reminder” notice
Passing this parameter will force send even if the patron has not chosen to receive hold reminder notices
This can be repeated to send various notices
-t | –triggered
Include only holds <days> days waiting, and not longer
If this is not set, the script will send messages for all holds waiting for equal to or more than <days> days
This option is useful if the cron is being run daily to avoid spamming the patrons
Optional parameter
-v
Verbose
Without this flag set, only fatal errors are reported.
If verbose is set but not confirm, a list of notices that would have been sent to the patrons are printed to standard out
-help
Brief help message
-man
Full documentation
EXEMPLES D’UTILISATION
La suite présente des exemples pour ce script :
- ::
holds_reminder.pl -library MAIN -days 14
prepares notices of holds waiting for 2 weeks for the MAIN library
- ::
holds_reminder.pl -lettercode LATE_HOLDS -library MAIN -days 14
prepares notices of holds waiting for 2 weeks for the MAIN library, using the “LATE_HOLDS” notice template
Impression des notifications de retards
Chemin du script: misc/cronjobs/printoverdues.sh
Tâche effectuée : génère des fichiers PDF à partir des fichiers HTML contenus dans les répertoires, et les imprime.
Imprimer l’avis de réservation
Chemin du script: misc/cronjobs/gather_print_notices.pl
Tâche effectuée : recherche dans la file des messages (message queue) les notifications de réservation qui n’ont pas été envoyées parce que l’adhérent n’a pas d’adresse de courriel, et génère une notification papier.
Périodicité préconisée : chaque jour
Talking Tech
Pour en savoir plus sur la configuration de ce produit externe, voir le chapitre Talking Tech.
Envoi du fichier de notifications
Chemin du script: misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl
Tâche effectuée : génère le fichier de sortie Spec C contenant les notifications pour le système de notification téléphonique Talking Tech i-tiva.
Requis par: TalkingTechItivaPhoneNotification
Périodicité préconisée : chaque jour
Réception du fichier des notifications
Chemin du script: misc/cronjobs/thirdparty/TalkingTech_itiva_inbound.pl
Tâche effectuée : traite les fichiers de résultats reçus pour le système de notification téléphonique Tech i-tiva.
Requis par: TalkingTechItivaPhoneNotification
Périodicité préconisée : chaque jour
Notification des adhérents de l’expiration
Chemin du script: misc/cronjobs/membership_expiry.pl
Does: sends messages to warn patrons of their card expiration to the message queue cron. Can optionally renew patron accounts as well.
Exige un paramètre dans: MembershipExpiryDaysNotice
Périodicité: chaque soir
PARAMÈTRES
--man
Prints the manual page and exits.
--help
Prints a brief help message and exits.
-v
Verbose.
Without this flag set, only fatal errors are reported.
-n
Do not send any email. Membership expiry notices that would have been sent to the patrons are printed to standard out.
-c
Confirm flag: Add this option. The script will only print a usage statement otherwise.
-branch
Optional branchcode to restrict the cronjob to that branch.
-before
Optional parameter to extend the selection with a number of days BEFORE the date set by the MembershipExpiryDaysNotice system preference.
-after
Optional parameter to extend the selection with a number of days AFTER the date set by the MembershipExpiryDaysNotice system preference.
For example,
--before 100 --after 100
will notify patrons who have accounts expiring within a date range of 100 days before and 100 days after the MembershipExpiryDaysNotice system preference.
-where
Use this option to specify a condition. Add « me » (alias) followed by the column name from the borrowers table.
Spaces, if necessary, must be escaped by a backslash.
Qoutes or double qoutes must be escaped by a backslash.
Par exemple :
--where="me.categorycode!='YA'"
will notify patrons from categories other than “YA”
--where="me.categorycode='S'"
will notify patrons from the category “S” only
--where 'me.lastseenISNOTNULL'
will only notify patrons who have been seen.
-letter
Optional parameter to use another notice than the default: MEMBERSHIP_EXPIRY
-letter_renew
Optional parameter to use another renewal notice than the default: MEMBERSHIP_RENEWED
Version
The
-letter_renew
parameter was added in Koha version 23.11.
-active
Followed by a number of months.
Optional parameter to include active patrons only (active within passed number of months).
This parameter needs the TrackLastPatronActivityTriggers system preference.
Cannot be used with
-inactive
below, the two parameters are mutually exclusiveVersion
The
-active
parameter was added in Koha version 23.11.
-inactive
Followed by a number of months.
Optional parameter to include inactive patrons only (inactive since passed number of months).
This parameter needs the TrackLastPatronActivityTriggers system preference.
Cannot be used with
-active
above, the two parameters are mutually exclusiveVersion
The
-inactive
parameter was added in Koha version 23.11.
-renew
Optional parameter to automatically renew patrons instead of sending them an expiry notice.
They will be informed by a membership renewal notice (the default MEMBERSHIP_RENEWED or a custom one specified by
-letter_renew
)Version
The
-renew
parameter was added in Koha version 23.11.EXEMPLES D’UTILISATION
membership_expiry.pl -cWill generate MEMBERSHIP_EXPIRY notices for patrons whose membership expires in the number of days set in MembershipExpiryDaysNotice.
membership_expiry.pl -c -renewWill renew patrons whose membership expires in the number of days set in MembershipExpiryDaysNotice, and generate MEMBERSHIP_RENEWED notices for them.
membership_expiry.pl -c -renew -letter_renew PATRON_RENEWALWill renew patrons whose membership expires in the number of days set in MembershipExpiryDaysNotice, and generate the custom « PATRON_RENEWAL » notices for them. A « PATRON_RENEWAL » notice would have to have been created in the notices and slips tool beforehand.
membership\_expiry.pl -c -before 30Will generate MEMBERSHIP_EXPIRY notices for patrons whose membership expires 30 days before the number of days set in MembershipExpiryDaysNotice.
membership_expiry.pl -c -renew -active 3Will renew patrons whose membership expires in the number of days set in MembershipExpiryDaysNotice, and who have been active in the last three months (« activity » is determined by the TrackLastPatronActivityTriggers system preference), and generate MEMBERSHIP_RENEWED notices for them.
membership_expiry.pl -c -inactive 6 -letter INACTIVE_PATRONWill generate the custom « INACTIVE_PATRON » notices for patrons whose membership expires in the number of days set in MembershipExpiryDaysNotice, and who have been inactive for the last six months (« activity » is determined by the TrackLastPatronActivityTriggers system preference). An « INACTIVE_PATRON » notice would have to have been created in the notices and slips tool beforehand.
En cours de traitement/Chariot de livres
Chemin du script: misc/cronjobs/cart_to_shelf.pl
Tâche effectuée : met à jour tous les exemplaires ayant la localisation CART (chariot) vers leur localisation normale (permanent location).
Requis par les préférences système : NewItemsDefaultLocation, UpdateItemLocationOnCheckin, et UpdateItemLocationOnCheckout.
Périodicité préconisée : chaque jour
Catalogue
Traitement par lot pour les imports par webservice
Chemin du script: misc/cronjobs/import_webservice_batch.pl
Tâche effectuée : traite par lot les files d’import de type “webservice”. Les lots peuvent aussi être traités via l’interface utilisateur.
Note
Ce script est utilisé pour la connexion OCLC
Suppression d’exemplaires par lots
Chemin du script: misc/cronjobs/delete_items.pl
Does: generates a query against the items database and deletes the items matching the criteria specified in the command line arguments. A lightweight batch deletion tool for items, suitable for running in a cron job.
PARAMÈTRES
--help
Prints a brief help message.
--man
Prints the manual, with examples.
--verbose
Prints the « WHERE » clause generated by the collected
--where
arguments, as well as items affected to Standard Out.The item information printed is
itemnumber
barcode
title
--where
The following argument must be a syntactically valid SQL statement which is part of the WHERE clause querying the items table.
Repeatable. If there are multiple
--where
parameters, they will be joined by AND.
--commit
No items will be deleted unless this parameter is present.
EXEMPLES D’UTILISATION
delete_items.pl --where "items.withdrawn != 0" --where "items.withdrawn_on < $(date --date="13 month ago" --rfc-3339=date)" --commitThis will delete items where the withdrawn status is not zero AND where the withdrawn date is older than 13 months ago.
delete_items.pl --where "itemlost >= '1'" --where "itemlost <='4'" --where "itemlost_on < '2014-04-28'" --commitThis will delete items where the lost status is between 1 and 4 (inclusively) AND that were lost before 2014-04-28.
Vérification rapide d’URL
Chemin du script: misc/cronjobs/check-url-quick.pl
Note
Ce script remplace le script check-url.pl qui était obsolète
Tâche effectuée : vérifie les URL des notices bibliographiques; analyse toutes les URL trouvées par défaut dans 856$u des notices bibliographiques et affiche si les ressources sont disponibles ou non.
PARAMÈTRES
–host=http://default.tld Server host used when URL doesn’t have one, i.e. doesn’t begin with “http:”. For example, if –host=mylib.com, then when 856$u contains “img/image.jpg”, the url checked is: http://www.mylib.com/image.jpg.
–tags Balises contenant des URLs dans les sous-champs $u. S’il n’est pas fourni, la balise 856 est cochée. Plusieurs balises peuvent être spécifiées, par exemple :
check-url-quick.pl –tags 310 410 856
–verbose|v Sortie des URLs réussies et des URLs échouées.
–html Formate la sortie en HTML. Le résultat peut être redirigé vers un fichier accessible par http. De cette façon, il est possible de créer un lien direct vers la notice bibliographique en mode édition. Avec ce paramètre –host-intranet est nécessaire.
–host-intranet=http://koha-pro.tld Serveur hôte utilisé pour établir un lien vers la page d’édition des notices bibliographiques dans l’interface professionnelle de Koha.
–timeout=10 Délai d’attente pour récupérer les URLs. Par défaut 10 secondes.
–maxconn=1000 Number of simultaneous HTTP requests. By default 200 connections.
Suppression de notices via le label
Chemin du script: misc/cronjobs/delete_records_via_leader.pl
Tâche effectuée : tente de supprimer toutes les notices MARC dont le caractère principal en position 5 est “d”.
PARAMÈTRES
-c|–confirm Le script ne fera rien sans ce paramètre
-v|–verbose Mode verbeux
-t|–test Mode test, n’efface pas les notices. Le mode Test ne peut pas déterminer si une notice ou un exemplaire sera supprimé avec succès, il vous indiquera seulement lesquels (notices et exemplaires) le script tentera de supprimer.
-i|–delete-items Essaie de supprimer les exemplaires avant de supprimer une notice. Les notices contenant des exemplaires ne peuvent pas être supprimées.
Mise à jour des abonnements
Chemin du script: misc/cronjobs/serialsUpdate.pl
Tâche effectuée : vérifie s’il y a un numéro en retard dans les abonnements actifs, et s’il y en a, le déclare “en retard” et ajoute le numéro suivant comme “attendu”.
Périodicité préconisée : chaque jour
Mise à jour automatique d’exemplaires
Chemin du script: misc/cronjobs/automatic_item_modification_by_age.pl
Tâche effectuée : met à jour les exemplaires sur la base d’une liste de règles définies préalablement dans l’outil Modifications automatiques d’exemplaires par ancienneté
Requis par: Modification automatique d’exemplaires en fonction de l’âge
Périodicité préconisée : chaque nuit
Stock rotation
Script path: misc/cronjobs/stockrotation.pl
Does: moves items from one stock rotation stage to the next, if they are available for processing.
Each library will receive a report with « items of interest » for them for today’s rota checks. Each item there will be an item that should, according to Koha, be located on the shelves of that branch, and which should be picked up and checked in.
Note
The email sent is based on the SR_SLIP template. It can be customized in the Notices and slips tool.
The item will either:
have been placed in transit to their new stage library;
have been placed in transit to be returned to their current stage library;
have just been added to a rota and will already be at the correct library;
Upon check-in,
items that need to be transferred elsewhere will be put in transit and a message will pop up requesting the item be sent to their new branch.
items that are already at the correct library will be checked in and no message will pop up.
Requis par: par l’outil Rotation des collections
Périodicité préconisée : chaque jour
PARAMÈTRES
-a|–admin-email
An address to which email reports should also be sent
This is an additional email address to which all email reports will be sent, in addition to sending them to branch email addresses.
-b|–branchcode
Select branch to report on for “email” reports (default: all)
If the “email” report is selected, you can use the “branchcode” parameter to specify which branch’s report you would like to see.
The default is “all”.
-x|–execute
Actually perform stockrotation housekeeping
By default, this script merely reports on the current status of the stock rotation subsystem. In order to actually place items in transit, the script must be run with the “execute” argument.
-r|–report
Select either “full” or “email”
The “report” argument allows you to select the type of report that will be emitted.
The default is “full”.
If the “email” report is selected, you can use the “branchcode” parameter to specify which branch’s report you would like to see.
-S|–Send-all
Send email reports even if the report body is empty
This argument causes even reports with an empty body to be sent.
-s|–send-email
Send reports by email
This argument causes the script to send reports by email.
-h|–help
Display the help message
OPAC
Flux RSS
Chemin du script: misc/cronjobs/rss/rss.pl
Tâche effectuée : produit un document XML RSS pour chaque requête SQL (n’est pas utilisé pour le flux RSS des recherches). En savoir plus.
Périodicité préconisée : chaque jour
Administration du système
Quota de services
Chemin du script: misc/cronjobs/services_throttle.pl
Tâche effectuée : réinitialise le nombre de services xISBN
Périodicité préconisée : chaque jour
Nettoyage de la base de données
Chemin du script: misc/cronjobs/cleanup_database.pl
Does: truncates Koha database tables, cleaning out old entries and files. See the Koha database schema for details of each of the tables mentioned in the script parameters.
Périodicité préconisée : chaque jour
PARAMÈTRES
-h
or--help
Prints a brief help message and exits, ignoring all other options.
-v
or--verbose
Verbose mode.
--confirm
Confirm flag: add this option after your other parameters. The script will only print a usage statement otherwise.
--cards
Followed by a number of days.
To purge from the creator_batches table any patron card creator batches added before the number of days specified.
--del-exp-selfreg
To delete expired self registration accounts (accounts that haven’t been upgraded from the “temporary” category) from the borrowers table.
The number of days for expiry is set in the PatronSelfRegistrationExpireTemporaryAccountsDelay system preference.
The temporary patron category is set in the PatronSelfRegistrationDefaultCategory system preference.
--del-unv-selfreg
Followed by a number of days.
To delete all unverified self registrations in borrower_modifications older than the number of days specified.
--deleted-catalog
Followed by a number of days.
To purge from tables deletedbiblio, deletedbiblio_metadata, deletedbiblioitems and deleteditems any bibliographic records deleted before the number of days specified.
--deleted-patrons
Followed by a number of days.
To purge from the deletedborrowers table any patrons deleted before the number of days specified.
--edifact-messages
Followed by a number of days.
To purge from the edifact_messages table any EDIFACT messages older than the number of days specified. Messages with the status “new” are exempt and will not be deleted.
Defaults to 365 days if no number specified.
--fees
Followed by a number of days.
To purge entries in the accountlines table older than the number of days specified, where the amountoutstanding is 0 or NULL.
For this parameter, the number of days specified must be greater than or equal to 1.
import
Followed by a number of days.
To purge from the import_batches, import_biblios, import_items, import_record_matches and import_records tables any entries older than the number of days specified.
In import_batches, the batches that are the result of Z39.50 searches are removed with the
--z3950
parameter (see further down).Defaults to 60 days if no number specified.
--jobs-days
Followed by a number of days.
To purge all completed background jobs older than the number of days specified.
Defaults to 1 day if no number specified.
--jobs-type
Followed by a job type.
To specify what type(s) of background jobs will be purged according to
--jobs-days
.Using
--jobs-type all
will purge all types.This parameter is repeatable.
Defaults to the update_elastic_index type if omitted.
--labels
Followed by a number of days.
To purge from the creator_batches table any item label batches added before the number of days specified.
--list-invites
Followed by a number of days.
To purge (unaccepted) list share invites from the virtualshelfshares table older than the number of days specified.
Defaults to 14 days if no number specified.
--logs
Followed by a number of days.
To purge entries from the action_logs table older than the number of days specified.
Defaults to 180 days if no number specified.
--log-module
Specify which action_log modules to purge.
This option is repeatable.
See action logs modules and actions for the module names.
--preserve-log
Specify which action_log modules to exclude.
This option is repeatable.
See action logs modules and actions for the module names.
-m
or
Followed by a number of days.
To purge entries from the message_queue table that are older than the number of days specified.
Defaults to 30 days if no number specified.
--merged
To purge completed entries from the need_merge_authorities table.
--messages
Followed by a number of days.
To purge from the messages table any entries older than the number of days specified.
Defaults to 365 days if no number specified.
--oauth-tokens
To delete expired OAuth2 tokens.
--old-issues
Followed by a number of days.
To purge from the old_issues table any checkouts of items returned before the number of days specified.
--old-reserves
Followed by a number of days.
To purge from the old_reserves table any holds older than the specified number of days.
--pseudo-transactions
To purge entries from the pseudonymized_transactions and pseudonymized_borrower_attributes tables.
This parameter can be used in several ways:
with a number of days. E.g., using
--pseudo-transactions 750
will remove entries older than 750 days.
- with the
--pseudo-transactions-from
and / or the--pseudo-transactions-to
parameter followed by a date in the YYYY-MM-DD format. E.g. using
--pseudo-transactions-from 2023-01-01 --pseudo-transactions-to 2023-12-31
will remove entries dated from 1 January 2023 to 31 December 2023.
--reports
Followed by a number of days.
To purge from the saved_reports table any data saved before the number of days specified. It concerns the data created by running runreport.pl with the
--store-results
option.
--restrictions
Followed by a number of days.
To purge from the borrower_debarments table any patrons restrictions expired for longer than the specified number of days.
Par défaut 30 jours si aucune période n’est spécifiée.
--all-restrictions
To purge all expired patrons restrictions from the borrower_debarments table.
--return-claims
To purge all resolved return claims older than the number of days specified in the system preference CleanUpDatabaseReturnClaims.
--searchhistory
Followed by a number of days.
To purge entries from the search_history table older than the number of days specified.
Defaults to 30 days if no number specified.
--sessions
To purge the sessions table.
If you use this while users are logged into Koha, they will have to login again.
--sessdays
Followed by a number of days.
To purge only sessions older than the specified number of days.
--statistics
Followed by a number of days.
To purge entries from the statistics tables that are older than the specified number of days.
Note
The statistics table is often used in reports. Make sure you are aware of the consequences before using this parameter.
--temp-uploads
To delete temporary uploads from the uploaded_files table older than the number of days specified in the UploadPurgeTemporaryFilesDays system preference.
--temp-uploads-days
Followed by a number of days.
To override the UploadPurgeTemporaryFilesDays system preference value.
--transfers
Followed by a number of days.
To purge from the branchtransfers table any transfers completed before the number of days specified .
--unique-holidays
Followed by a number of days.
To delete from the special_holidays table any unique holidays older than the number of days specified.
--uploads-missing
Followed by a flag.
To delete upload records for missing files when the specified flag is true; and count them otherwise.
--zebraqueue
Followed by a number of days.
To purge completed zebraqueue entries older than the number of days specified.
Defaults to 30 days if no number specified.
--z3950
To purge records from import tables that are the result of Z39.50 searches.
If you are looking to purge all other import information, see the
--import
parameter above.USAGE EXAMPLE
cleanup_database.pl --sessdays 7 --zebraqueue --list-invites --temp-uploads --mail 375 --import 375 --logs 200 --searchhistory 60 --del-exp-selfreg --statistics 731 --pseudo-transactions 1827 --deleted-patrons 1 --restrictions 90 --unique-holidays 180 --confirmThis script will:
delete OPAC sessions for users who last accessed the site over 7 days ago;
keep the record of zebra reindexes to 30 days;
expire invitations to view a list shared over 14 days ago;
clear the temporary uploads according to the UploadPurgeTemporaryFilesDays system preference;
remove the record of notices sent to patrons when those notices were sent over 375 days ago;
delete files uploaded for batch import after 375 days (though the bibliographic and item records imported as part of the process will remain);
clear the logs from any actions performed over 200 days ago;
remove both patron and staff search history older than 60 days;
delete patron self-registration requests according to the PatronSelfRegistrationExpireTemporaryAccountsDelay system preference.
delete transactions stored in the statistics table when they are over 731 days old;
clear the pseudonymized transactions data that’s older than 5 years;
fully delete patrons the day following their manual deletion in the Koha staff interface;
clear the record of patrons” expired restrictions when that restriction has been lifted for over 90 days;
remove closed days older than 180 days from the calendar.
Search for data inconsistencies
Script path: misc/maintenance/search_for_data_inconsistencies.pl
Does: reveals problems in data, such as
items without home or holding library
bibliographic records without item type or with invalid item type
bibliographic records with invalid MARCXML
bibliographic records without biblionumber or biblioitemnumber in MARCXML
bibliographic records without title
invalid values in fields where the framework limits to an authorized value category
authority records without authority type or with invalid authority type
patrons who are too old or too young for their category
Some of these issues can cause problems in circulation or catalog search, so it’s important that they be corrected.
There is no suggested frequency. This is a tool to be used when needed.
Acquisitions
Elimination des anciennes suggestions
Chemin du script: misc/cronjobs/purge_suggestions.pl
Does: removes old suggestions from the suggestion management area.
PARAMÈTRES
help|?
Show help message
days
Définit l’âge des suggestions à supprimer, basé sur la date “gérée le”
Note
La préférence système PurgeSuggestionsOlderThan peut aussi définir le nombre de jours utilisé dans le script. Si cette préférence système est utilisée, ne pas utilisé le paramètre “jours”.
Note
Le nombre de jours est basé sur la date “gérée le” de la suggestion.
confirmer
This parameter is mandatory for the script to run.
Suggestions à traiter par courriel
Chemin du script: misc/cronjobs/notice_unprocessed_suggestions.pl
Tâche effectuée : génère une notification au propriétaire du fond, pour indiquer qu’il y a des suggestions en demande de traitement
Traitement des messages EDI
Chemin du script: misc/cronjobs/edi_cron.pl
Tâche effectuée : envoie et reçoit des messages EDI
Périodicité préconisée : toutes les 15 minutes
Suppression des fichiers EDI temporaires
Chemin du script: misc/cronjobs/remove_temporary_edifiles.pl
Tâche effectuée : supprime les fichiers EDI temporaires de plus de 5 jours
E-resource management (ERM)
Harvesting cron job
Script path: /misc/cronjobs/erm_run_harvester.pl
Does: this script will run the SUSHI harvesting for any Active usage data providers set up in the E-resource management module.
Frequency: it is recommended you set it up to run at a regular interval (e.g., every month since providers usually produce statistics data monthly).
PARAMÈTRES
--help or -h
Prints a help message
--begin-date
Set the start date for the harvest in yyyy-mm-dd format (e.g.: “2023-08-21”)
--end-date
Set the end date for the harvest in yyyy-mm-dd format (e.g.: “2023-08-21”)
--dry-run
Produces a run report, without actually doing anything permanent
--debug
Prints additional debugging information during the run
USAGE EXAMPLE
erm_run_harvester.pl --begin-date 2023-06-21 --debugWill run the SUSHI harvest for Active usage data providers for the period starting 21 June 2023 to the present date (or to the date for which data is available). Additional debugging information about the way the harvest has run will be displayed.
Bilans et statistiques
Exécution du rapport
Script path: misc/cronjobs/runreport.pl
Does: runs pre-existing saved reports, optionally sends the results by email.
PARAMÈTRES
-h | --help
Displays help message
-m | --man
Displays full documentation
Same as
--help --verbose
-v | --verbose
Verbose output
Without this parameter, only fatal errors are reported
--format=s
Selects output format
Possible values:
text
html
csv
tsv
At the moment, “text” and “tsv” both produce tab-separated output
Defaults to “text”
-e | --email
Send the output by email (implied by
--to
or--from
)
--send_empty
Send the email even if the report returns no results
Version
The
--send_empty
parameter was added in Koha version 23.11.
-a | --attachment
Attach the report as a file
Cannot be used with html format
--username
Identifiant à transmettre au serveur SMTP pour l’authentification
--password
Mot de passe à transmettre au serveur SMTP pour l’authentification
--method
The type of authentication, i.e. LOGIN, DIGEST-MD5, etc.
--to=s
E-mail address to which to send report results
If
--to
is not, the address in KohaAdminEmailAddress is used
--from=s
E-mail address from which to send report
If
--from
is not, the address in KohaAdminEmailAddress is used
--subject=s
Subject for the e-mail
--param=s
Pass value for the runtime parameter
Repeatable
Provide one
--param
per runtime parameter requested for the report. Report parameters are not combined as they are on the staff side, so you may need to repeat parameters.
--separator=s
Separator character
Only for csv format
Defaults to comma
--quote=s
Quote character
Only for csv format
Defaults to double quote
Empty string is allowed
Version
The
--quote
parameter was added in Koha version 23.11.
--store-results
Store the result of the report into the saved_reports database table.
To access the results, go to Reports > Guided reports > Saved report.
--csv-header
Add column names as first line of csv output
ARGUMENTS
reportID
Report ID Number from saved_sql.id
Multiple ID’s may be specified
Mandatory
EXEMPLES D’UTILISATION
runreport.pl 1Will output results from report 1 in the terminal (STDOUT).
runreport.pl 1 5Will output results from reports 1 and 5 in the terminal (STDOUT).
runreport.pl --format html --to admin@myDNSname.org 1Will send results from report 1 to admin@myDNSname.org in HTML format.
runreport.pl --format html --to admin@myDNSname.org --param CPL --param FICTION 1Will send results from report 1 to admin@myDNSname.org in HTML format. “CPL” will be passed to the first runtime parameter, and “FICTION” will be passed to the second runtime parameter.
runreport.pl --store-results 1Will save the report results in the saved_reports database table, and they will be available from the staff interface in Reports > Guided reports > Saved report.
Démons
Daemons are continuously running tasks that help support Koha operation. Your database and web-server are run as daemons.
Automatically started daemons
Newer versions of Koha start two different daemons for most koha instances:
zebra - c’est le serveur d’index
koha-indexer - ce démon met à jour le serveur d’index avec les données nouvelles et modifiées (biblios et autorités)
Ces démons sont lancés par le script /etc/init.d/koha-common.
Démon de l’indexation Zebra
Chemin du script: /usr/sbin/koha-indexer (invoked from /etc/init.d/koha-common)
Le script koha-indexer appelle rebuild_zebra.pl en mode Démon. Dans ce mode, le script s’exécutera en continu et vérifiera la base de données toutes les 30 secondes pour voir s’il y a des données créées ou modifiées. Les nouvelles notices ou celles modifiées sont ensuite envoyées à Zebra pour être indexées, ce qui ne prend qu’une seconde environ. L’avantage de cette approche est un système de recherche qui est beaucoup plus réactif aux changements comparé à l’approche cron job.
Other daemons
These are not started automatically by Koha. You could run them manually, or create your own systemd unit to keep them running.
OCLC Connexion import daemon
Script path: misc/bin/connexion_import_daemon.pl
Does: Listens for requests from OCLC Connexion clients and is compliant with the OCLC Gateway specification.
See Setting up the OCLC Connexion Daemon for more details.
Scripts obsolètes
Il n’y a pas de modification d’adhérent en attente.
Chemin du script: misc/cronjobs/update_items.pl
Chemin du script: misc/cronjobs/smsoverdues.pl
Chemin du script: misc/cronjobs/notifyMailsOp.pl
Chemin du script: misc/cronjobs/reservefix.pl
Chemin du script: misc/cronjobs/zebraqueue_start.pl
Données sociales
Récupération des données sociales
Chemin du script: misc/cronjobs/social_data/get_report_social_data.pl
Tâche effectuée : télécharge les données de Babelthèque pour les ajouter aux notices à l’OPAC
Périodicité préconisée : chaque jour
Mise à jour des données sociales
Chemin du script: misc/cronjobs/social_data/update_social_data.pl
Tâche effectuée : met à jour les notices de l’OPAC avec les données sociales de Babelthèque