Paramétrage de la Crontab
Anonymisation historique de prêts
Suppression des adhérents
Annulation des réservations expirées
# Manage holds # Cancel expired reserves 20 4 * * * /home/koha/src/misc/cronjobs/holds/cancel_expired_holds.pl [--reason "Délai de mise de côté dépassé"]
Le script annule les réservations pour lesquelles la date d'expiration des réservations est dépassée
Pour que le script annule également les réservations mises de côté, la préférence système ExpireReservesMaxPickUpDelay doit être activée.
Si la préférence système ExpireReservesOnHolidays n'est pas activée, le script ne fait rien les jours de fermeture.
Il est possible de passer en paramètre du script un texte expliquant la raison de l'annulation, ce qui déclenche l'envoi d'un mail explicatif à l'adhérent.
Annulation des réservations non servies
# Manage holds # Cancel unfilled reserves 25 4 * * * /home/koha/src/misc/cronjobs/holds/cancel_unfilled_holds.pl --days=X [--library=BRANCHCODE] [--holidays] [--confirm] [--verbose]
Ce script annule les réservation posées depuis plus de X jours (en prenant en compte les jours de fermeture si le paramètre –holidays est précisé) et qui n'ont jamais été servies.
Il est possible de limiter le traitement à un ou plusieurs sites avec le paramètre –branch.
Réactivation des réservations suspendues
# Manage holds # Reactivate suspended reserves 30 4 * * * /home/koha/src/misc/cronjobs/holds/auto_unsuspend_holds.pl
Ce script supprime la suspension des réservations dont la date de fin de suspension est dépassée.
Purge des tables
Il est important de "nettoyer" régulièrement la base afin que celle-ci conserve des proportions raisonnables et de bonnes performances. Un certain nombre de données n'ont pas vocation à être conservé indéfiniment. C'est le rôle du script suivant :
cleanup_database.pl
On l'intègre dans les tâches planifiées (crontab) comme dans cet exemple :
# Cleanup database 10 4 * * * /home/koha/src/misc/cronjobs/cleanup_database.pl --sessdays 1 --zebraqueue 30 --z3950 --temp-uploads --temp-uploads-days 6 --import 730 --logs 730
Voici les types de données que le script peut purger (version 19.11) :
- sessions : sessions de connexion des utilisateurs
- sessdays DAYS : supprimer les données de sessions vieilles de X jours
- zebraqueue : file des modifications/ajouts/suppressions de notices que le moteur de recherche doit indexer (par défaut : 30 jours)
- mail : file des mails à envoyer (par défaut : 30 jours)
- merged : table de fusion des autorités (
need_merge_authorities
) - import : imports de notices (par défaut : 60 jours)
- z3950 : notices d'import Z39.50
- fees : table des paiements usagers
- logs : table des logs (dite de journalisation)
- À noter que la purge s'effectue sur tous les logs (il n'est pas possible de filtrer sur les logs de catalogage, circulation, etc).
- Biblibre recommande un paramétrage de six mois maximum.
- searchhistory : historiques de recherche (par défaut : 30 jours)
- list-invites : liste d'invitations refusées (par défaut : 14 jours)
- restrictions : pénalisations expirées des usagers (par défaut : 30 jours)
- del-exp-selfreg : auto inscriptions expirées
- del-unv-selfreg : auto inscriptions non vérifiées
- unique-holidays : jours de fermeture unique (calendrier)
- temp-uploads : téléversements temporaires de notices
- temp-uploads-days : passe outre la préférence système
UploadPurgeTemporaryFilesDays
- uploads-missing : fichiers de téléversements vides
- oauth-tokens : jetons d'authentification OAuth2
- statistics : table des statistiques de circulation
- deleted-catalog : notices supprimées (agit sur les tables
deleteditems
,deletedbiblioitems
,deletedbiblio_metadata
etdeletedbiblio
) - deleted-patrons : données d'usagers supprimées
- old-issues : anciens prêts (qui ont été retournés)
- old-reserves : anciennes réservations
- transfers : données de transferts entre bibliothèques
Purge des suggestions
Supprime les anciennes suggestions, sauf celles en attente.
Koha >= 18.11
# Cleanup suggestions that are not in ASKED status 25 4 * * * /home/koha/src/misc/cronjobs/purge_suggestions.pl --confirm --days 365
Il est possible d'utiliser la préférence système PurgeSuggestionsOlderThan
, du coup lancer le script sans l'option days
.
Koha < 18.11
# Cleanup suggestions that are not in ASKED status 25 4 * * * /home/koha/src/misc/cronjobs/purge_suggestions.pl --days 365
Synchro dates BDD et MARC
Script UNIMARC_sync_date_created_with_marc_biblio.pl
, voir tri_par_date_d_acquisition
Nombre total de prêts
Script update_totalissues.pl
, voir tri_par_popularite
Long retards
Les préférences systèmes permettent d'éviter les arguments :
lost
:DefaultLongOverdueLostValue
etDefaultLongOverdueDays
charge
:DefaultLongOverdueChargeValue
Les arguments :
maxdays
est par défaut défaut 366, c'est l'ancienneté des prêts à laquelle le script s'arrête.
mark-returned
est par défaut 0, les exemplaires restent en prêt.
# Turn long overdues to lost item 10 05 * * * /home/koha/src/misc/cronjobs/longoverdue.pl --confirm
--confirm
et avec -v
pour tester
Renouvellement automatique
Concerne les prêts effectués durant la journée et dont la mention Renouvellement automatique a été cochée lors du prêt (cf module circulation).
# Automatic issues renewal 10 20 * * * /home/koha/src/misc/cronjobs/automatic_renewals.pl --confirm
Le système en 3.22 va comparer les dates avec l'heure, fonction de "Pas de renouvellement avant" (lequel est pourtant en jours).
Pour un prêt avec la date de retour jour J H 23:59, le renouvellement ne peut se faire qu'après mais après il est en retard.
Le patch BZ14395 corrige cela mais il n'est intégré qu'en 16.05.
Une façon de corriger est de mettre dans la règle de circulation la valeur 1 pour "Pas de renouvellement avant".
Un script tournant en cron le soir va renouveler à la date d’échéance du prêt.
Expiration compte adhérent
Envoi courriel aux adhérents dont le compte va expirer (cf préférence système : MembershipExpiryDaysNotice
).
Il faut également paramétrer le texte de la notification MEMBERSHIP_EXPIRY
# Notify patrons expiration 0 8 * * * /home/koha/src/misc/cronjobs/membership_expiry.pl -c
Périodiques en retard
Passe de en attente à en retard les fascicules de périodiques.
# Change status of serial issues that are late 0 8 * * * /home/koha/src/misc/cronjobs/serialsUpdate.pl -c
Une note en anglais "Automatically set to late" va être posée sur le fascicule, il est possible de la spécifier avec :
--note "Mise en retard automatique"
Amendes
# Calculating fines (must be run after midnight) 5 2 * * * /home/koha/src/misc/cronjobs/fines.pl
Amendes statiques
# Static fines 20 4 * * * /home/koha/src/misc/cronjobs/staticfines.pl --library ROCH --category ADULT,1 --category PERSONNEL,1 --delay 21
If the Koha System Preference 'finesMode' is set to 'production', the fines are charged to the patron accounts.
If set to 'test', the fines are calculated but not applied.
Modifications automatiques d'exemplaires par ancienneté
# Item modification by age 0 3 * * * /home/koha/src/misc/cronjobs/automatic_item_modification_by_age.pl --confirm > /dev/null
Retirer --confirm
pour tester sans modifier la base de données.
Pour le paramétrage, voir Paramétrer la suppression automatique d'un statut.
Passage de catégorie enfant à adulte
A partir de 19.11
# Category change by age 50 3 * * * /home/koha/src/misc/cronjobs/update_patrons_category.pl --too_old -f=ENFANT1 -t=ADULTE1 --confirm
-v
pour plus de verbosité
Avant 19.11
# Category change by age 50 3 * * * /home/koha/src/misc/cronjobs/j2a.pl -f=ENFANT1 -t=ADULTE1
Rotation des stocks
à developper
# Stock rotation 20 1 * * * /home/koha/src/misc/cronjobs/stockrotation.pl --execute
Introduit par Bug 11897