Cron jobs e daemons

O Koha conta com o suporte de diversas tarefas de segundo plano. Essas tarefas podem ser executadas periodicamente (tarefas cron) ou rodar continuamente (processos conhecidos como daemons).

Um cron job é um comando do Linux utilizado para agendar a execução de um comando ou script no servidor, permitindo realizar tarefas repetitivas de forma automática. Os scripts executados como cron jobs são geralmente utilizados para modificar ficheiros ou bases de dados; no entanto, também podem realizar outras tarefas que não alteram os dados no servidor, como o envio de notificações por e-mail.

Um daemon é um comando do Linux que é normalmente iniciado durante o arranque do sistema e é executado em segundo plano, desempenhando alguma função. A base de dados utilizada pelo Koha (seja MySQL ou MariaDB) é um daemon, tal como o servidor web (normalmente o Apache).

O Koha tem várias tarefas agendadas (cron jobs) que pode ativar (indexação para motores de busca, geração de avisos de atraso, limpeza de dados, entre outras), bem como alguns daemons. Este capítulo explicará estes recursos.

Exemplo de crontab

Um exemplo de crontab do Koha pode ser encontrado em misc/cronjobs/crontab.example

O exemplo inclui modelos padrão de entradas de cron job para as tarefas mais utilizadas.

Cron jobs

Os locais mencionados na documentação pressupõem uma instalação de desenvolvimento, na qual os ficheiros se encontram no directório misc/ em relação à raiz do repositório Git. Caso tenha realizado a instalação utilizando pacotes Debian ou o procedimento padrão a partir do código-fonte, deverá procurar os ficheiros em /usr/share/koha/bin/.

Outros locais são possíveis com outros métodos de instalação. Pode realizar uma pesquisa simples com o comando find caso não estejam nesses diretórios.

Nota

Para quem tem acesso à consola e utiliza pacotes Debian, o comando seguinte é uma forma fácil de encontrar ficheiros instalados por um pacote Debian:

dpkg -L koha-common

Este fornece uma lista completa dos ficheiros instalados pelo pacote koha-common. Assim, pode localizar facilmente o ficheiro a partir dessa lista.

Backup

Backup diário

Caminho do script: misc/cronjobs/backup.sh

O que faz: cria um backup diário da base de dados do Koha.

Sugestão de frequência: diária

Circulação

Fila de espera

Caminho do script: misc/cronjobs/holds/build_holds_queue.pl

Executa: atualizações do relatório da fila de reservas

Exigido por: Relatório da fila de reservas

Sugestão de frequência: cada 1 a 4 horas

Descrição:

  • Um script que deve ser executado periodicamente no caso de o seu sistema de biblioteca permitir que os utilizadores solicitem a reserva de exemplares que já se encontram nas estantes. Este script determina qual a biblioteca que deve ser responsável por satisfazer um determinado pedido de reserva.

    O seu comportamento é controlado pelas preferências de sistema StaticHoldsQueueWeight e RandomizeHoldsQueueWeight.

    Se não pretende que todas as suas bibliotecas participem no processo de atendimento de reservas de itens da estante, deve listar aqui as bibliotecas que participam *efetivamente* no processo, inserindo os códigos de biblioteca de todas elas separados por vírgulas (por exemplo: “MPL,CPL,SPL,BML”, etc.).

    Por omissão, a lista de reservas será gerada de forma a que o sistema tente preencher as reservas com exemplares já na biblioteca de levantamento se possível. Se não existem exemplares disponíveis para preencher a reserva, o script build_holds_queue.pl usa a lista de bibliotecas definida em StaticHoldsQueueWeight. Se a preferência RandomizeHoldsQueueWeight não está activa (o que acontece por omissão), o script irá assumir pedidos de preenchimento pela ordem que as bibliotecas são colocadas na preferência de sistema StaticHoldsQueueWeight.

    Por exemplo, se o seu sistema tem três bibliotecas de tamanhos variados (pequena, média e grande) e você deseja que a maior incidência de reservas recaia sobre as bibliotecas maiores antes das menores, você pode configurar StaticHoldsQueueWeight para algo como “GDE,MED,PEQ”.

    Caso você queira que o encargo das reservas recaia de maneira equânime na rede de bibliotecas, simplesmente ative a preferência RandomizeHoldsQueueWeight.Quando esta preferência do sistema está ativa, a ordem na qual cada biblioteca será solicitada a atender reservas será aleatória a cada vez que a lista for gerada.

Reservas expiradas

Caminho do script: misc/cronjobs/holds/cancel_expired_holds.pl

Executa: cancela as reservas para as quais o leitor definiu uma data de expiração. Se a biblioteca estiver a utilizar as preferências ExpireReservesMaxPickUpDelay e ExpireReservesMaxPickUpDelayCharge, este script também cancelará as reservas que permaneceram na prateleira por tempo excessivo e cobrará ao utilizador (caso a biblioteca adote esta prática) pelo não levantamento da reserva.

É possível adicionar um motivo de cancelamento com o parâmetro –reason. Utilize o código de cancelamento da categoria de valores autorizados HOLD_CANCELLATION

Sugestão de frequência: diária

Reativar reservas

Caminho do script: misc/cronjobs/holds/auto_unsuspend_holds.pl

Executa: verifica se existem reservas que já não devem estar suspensas e remove a suspensão se a preferência AutoResumeSuspendedHolds estiver definida para ‘permitir’. Isto coloca o leitor de volta na fila, na posição em que estava quando a reserva foi suspensa.

Sugestão de frequência: diária

Multas

Caminho do script: misc/cronjobs/fines.pl

Executa: calcula e cobra (ou incrementa) as penalizações por atraso, por empréstimo, nas contas dos utilizadores. O cálculo da multa é efectuado utilizando o período de carência, o intervalo de multa, o valor da multa e outros parâmetros das regras de circulação e multas.

Exigido por: preferência de sistema finesMode

Sugestão de frequência: todas as noites

Nota Se a preferência de sistema ‘finesMode’ do Koha estiver definida para ‘produção’, as multas são associadas às contas dos utilizadores. Se estiver definida para ‘teste’, as multas são calculadas, mas não aplicadas.

Nota Não serão aplicadas multas em feriados.

PARÂMETROS - -h|–help

  • mensagem de ajuda

  • -l|–log

    • registar a saída num ficheiro (opcional se o parâmetro -o for fornecido)

  • -o|–out

    • diretório de saída para os logs (utiliza o valor da variável de ambiente ou /tmp por omissão, caso o diretório não exista)

  • -v|–verbose

    • modo detalhado

  • -m|–maxdays

    • quantos dias de atraso considerar para o processamento

    • isto pode melhorar o desempenho simplesmente ao reduzir o número de registos que precisam de ser processados. Pode ser seguro limitar o processamento de empréstimos em atraso àqueles com menos de X dias de atraso, dado que a política de circulação estabelece frequentemente um valor máximo para as multas após um certo número de dias.

Multas fixas

Caminho do script: misc/cronjobs/staticfines.pl

Executa: aplica uma multa fixa única para todos os empréstimos em atraso que o utilizador possua no momento. O valor da multa é definido na linha de comando por categoria de utilizador ou utiliza as regras de circulação associadas ao exemplar em atraso mais antigo que o utilizador tem emprestado (apenas para o primeiro período de multa). Uma vez aplicada, a multa é fixa: não serão acrescentadas novas multas até que a multa existente esteja totalmente liquidada.

Sugestão de frequência: todas as noites

Nota Se a preferência de sistema ‘finesMode’ do Koha estiver definida para ‘produção’, as multas são associadas às contas dos utilizadores. Se estiver definida para ‘teste’, as multas são calculadas, mas não aplicadas.

Nota Não serão aplicadas multas em feriados.

Perdão de multas em lote

Caminho do script: misc/cronjobs/writeoff_debts.pl

Executa: perdão de multas pendentes nas contas dos utilizadores.

PARÂMETROS

Nota

As opções para selecionar os registos de dívida a perdoar são cumulativas. Por exemplo, fornecer tanto --added_before como --type especifica que a linha da conta deve cumprir ambas as condições para ser selecionada para o perdão.

Nota

Deve utilizar pelo menos uma das opções de filtragem para que o script seja executado. Isto serve para evitar uma operação acidental de ‘perdão de todas as multas’.

  • -h | --help

    • Apresenta a mensagem de ajuda.

  • -v | --verbose

    • Modo detalhado.

  • --added-before

    • Perdoar as multas adicionadas antes da data especificada.

    • As datas devem estar no formato ISO, por exemplo, 2013-07-19, e podem ser geradas com date -d '-3 month' --iso-8601.

  • --added-after

    • Perdoar as multas adicionadas após a data especificada.

    • As datas devem estar no formato ISO, por exemplo, 2013-07-19, e podem ser geradas com date -d '-3 month' --iso-8601.

  • --category-code

    • Perdoar as multas de leitores pertencentes às categorias especificadas.

    • Repetível.

  • --type

  • --file

    • Perdoar as multas transmitidas como um accountlines_id por linha neste ficheiro.

    • Se forem definidos outros critérios, o sistema efetuará a baixa apenas das linhas do ficheiro que cumpram esses critérios.

  • --confirm

    • Este parâmetro é necessário para confirmar o pedrão efetivo das multas.

    • Executar o script sem este parâmetro apenas exibirá quais as multas que teriam sido perdoadas.

EXEMPLOS DE UTILIZAÇÃO

writeoff_debts.pl --added_after 2023-06-20 --confirm

Perdoar as multas adicionadas após 2023-06-20.

writeoff_debts.pl --added_before `date -d '-3 month' --iso-8601` --category-code K --confirm

Perdoar as multas com mais de 3 meses para leitores da categoria ‘K’.

Restringir os leitores com multas

Caminho do script: misc/cronjobs/debar_patrons_with_fines.pl

Executa: Adiciona uma restrição manual aos leitores com um valor superior a X nas multas pendentes.

Sugestão de frequência: todas as noites ou conforme a necessidade

PARÂMETROS

  • -h | --help

    • Apresenta a mensagem de ajuda.

  • -a | --amount

    • Valor mínimo que o leitor deve para estar sujeito a restrições.

    • O padrão é 0, o que significa que qualquer pessoa que deva algo será restringida.

  • -m | --message

    • Mensagem a adicionar como comentário da restrição.

  • -f | --messagefile

    • Ficheiro que contém a mensagem a adicionar como comentário de restrição.

  • -e | --expiration

    • Data de expiração da restrição.

  • -c | --confirm

    • Utilize este parâmetro para confirmar as alterações.

    • Sem este parâmetro, nenhum cliente será restringido.

  • -v | --verbose

    • Mostra quais os leitores afetados.

EXEMPLOS DE UTILIZAÇÃO

debar_patrons_with_fines.pl -a 5 -m "Fines" -v

Mostrará quais os leitores que têm mais de 5 em multas não pagas, mas não chegará ao ponto de as restringir (falta o parâmetro --confirm).

debar_patrons_with_fines.pl -a 5 -m "Fines" -e '2024-12-31' -v -c

Restringirá os utilizadores que devem mais de 5m, tendo a restrição o comentário “Multas” e expirará a 31/12/2024. A saída do script também mostrará quais os utilizadores que foram restringidos.

Atrasos de longa data

Caminho do script: misc/cronjobs/longoverdue.pl

Executa: permite especificar prazos para a alteração de exemplares para diferentes estados de perido e, opcionalmente, cobrar pelos mesmos utilizando o preço de substituição registado na ficha do exemplar.

Sugestão de frequência: todas as noites

Nota

A equipa pode controlar alguns parâmetros da tarefa de exemplares com atraso prolongado através das preferências de sistema DefaultLongOverdueLostValue e DefaultLongOverdueDays, DefaultLongOverdueSkipLostStatuses, DefaultLongOverdueChargeValue, DefaultLongOverduePatronCategories, DefaultLongOverdueSkipPatronCategories e LostChargesControl.

PARÂMETROS

  • -l | --lost

    • Esta opção assume a forma n=lv, em que n é o número de dias de atraso e lv é o valor da categoria de valores autorizados LOST que deve ser atribuído ao exemplar após esse período.

    • As preferências de sistema DefaultLongOverdueLostValue e DefaultLongOverdueDays podem ser utilizadas para definir estes dois valores a partir da interface dos técnciso, em vez de diretamente no cron job. Se estas preferências de sistema estiverem definidas, não há necessidade de utilizar o parâmetro --lost.

  • -c | --charge

  • --confirm

    • Este parâmetro é necessário para que o script altere valores. Sem esta opção, o script informará o número de afetados sem modificar qualquer registo.

  • -v | --verbose

    • Este parâmetro imprime o número de exemplares afetados.

  • --quiet

    • Este parâmetro suprime a saída padrão.

  • --maxdays

    • Este parâmetro especifica o limite superior do intervalo de dias de atraso a tratar.

    • Se este parâmetro não for especificado, o valor predefinido é 366.

  • --mark-returned

    • Este parâmetro remove da lista de empréstimos dos leitores os exemplares com atraso prolongado.

    • A preferência de sistema MarkLostItemsAsReturned pode ser utilizada para definir este parâmetro a partir da interface dos técnicos, em vez de diretamente pela tarefa.

  • -h | --help

    • Este parâmetro apresenta uma breve mensagem de ajuda e termina a execução.

  • -man | --manual

    • Este parâmetro apresenta a mensagem de ajuda completa e termina a execução.

  • --category

    • Este parâmetro é utilizado para limitar o processamento a uma categoria de leitor específica. Todas as outras categorias serão excluídas.

    • Este parâmetro pode ser repetido para incluir várias categorias.

    • A preferência de sistema DefaultLongOverduePatronCategories pode ser utilizada para definir as categorias a incluir a partir da interface dos técnicos, em vez de diretamente pelo cron job.

    Importante

    Este parâmetro não pode ser utilizado com --skip-category.

    Da mesma forma, a preferência de sistema DefaultLongOverduePatronCategories não pode ser utilizada em conjunto com a preferência de sistema DefaultLongOverdueSkipPatronCategories.

  • --skip-category

    • Este parâmetro é utilizado para excluir uma categoria de utilizador específica do processo. Todas as outras categorias serão incluídas.

    • Este parâmetro pode ser repetido para excluir várias categorias.

    • A preferência de sistema DefaultLongOverdueSkipPatronCategories pode ser utilizada para definir as categorias a eliminar na interface da equipa, em vez de diretamente no cron job.

    Importante

    Este parâmetro não pode ser utilizado com --category.

    Da mesma forma, a preferência de sistema DefaultLongOverdueSkipPatronCategories não pode ser utilizada com a preferência de sistema DefaultLongOverduePatronCategories.

  • --list-categories

    • Este parâmetro lista as categorias de leitor disponíveis que podem ser utilizadas com --category ou --skip-category e termina a execução.

  • --library

    • Este parâmetro é utilizado para limitar o processamento a um código de biblioteca específico. Todas as outras bibliotecas serão excluídas.

    • Este parâmetro pode ser repetido para incluir várias bibliotecas.

    • As bibliotecas seleccionadas seguem a preferência de sistema LostChargesControl.

    Atenção

    Antes da versão 26.05 do Koha, as bibliotecas seleccionadas seguem a preferência de sistema CircControl.

    Importante

    Este parâmetro não pode ser utilizado com --skip-library.

  • --skip-library

    • Este parâmetro é utilizado para excluir uma biblioteca específica do processo. Todas as outras bibliotecas serão incluídas.

    • Este parâmetro pode ser repetido para excluir múltiplas bibliotecas.

    • As bibliotecas seleccionadas seguem a preferência de sistema LostChargesControl.

    Atenção

    Antes da versão 26.05 do Koha, as bibliotecas seleccionadas seguem a preferência de sistema CircControl.

    Importante

    Este parâmetro não pode ser utilizado com --library.

  • --itemtype

    • Este parâmetro é utilizado para limitar o processamento a um código de tipo de documento específico. Todos os outros tipos de documento serão exceluídos.

    • Este parâmetro pode ser repetido para incluir vários tipos de documento.

    Importante

    Este parâmetro não pode ser utilizado com --skip-itemtype.

  • --skip-itemtype

    • Este parâmetro é utilizado para excluir um tipo de documento específico do processo. Todos os outros tipos de artigo serão incluídos.

    • Este parâmetro pode ser repetido para excluir vários tipos de documento.

    Importante

    Este parâmetro não pode ser utilizado com --itemtype.

  • --list-itemtypes

    • Este parâmetro lista os tipos de documento disponíveis que podem ser utilizados em --itemtype ou --skip-itemtype e termina a execução.

  • --skip-lost-value

    • Este parâmetro é utilizado para excluir um valor LOST específico do processo. Todos os outros valores serão incluídos.

    • A preferência de sistema DefaultLongOverdueSkipLostStatuses pode ser utilizada para definir quais os valores de “item perdido” que devem ser eliminados da interface da equipa, em vez de serem eliminados diretamente pelo cron job.

EXEMPLOS DE UTILIZAÇÃO

misc/cronjobs/longoverdue.pl --lost 30=1 --confirm

Definirá o estado de perdido como 1 para todos os exemplares com um atraso superior a 30 dias (até 366 dias).

misc/cronjobs/longoverdue.pl --lost 60=2 --charge 2 --confirm

Definirá o estado de perdido como 2 para todos os exemplares com um atraso superior a 60 dias (até 366 dias) e cobrará aos leitores o custo de substituição.

Acompanhar o total de empréstimos

Caminho do script: misc/cronjobs/update_totalissues.pl

Executa: atualiza o campo biblioitems.totalissues na base de dados com a contagem mais recente de empréstimos, com base nas estatísticas históricas de circulação.

Sugestão de frequência: todas as noites

Aviso

Se a hora do seu servidor de base de dados não coincidir com a hora do seu servidor Koha, terá de ter isso em conta e, provavelmente, utilizar o argumento –since em vez do argumento –interval para a actualização incremental.

Nota

Este cronjob pode ser utilizado caso existam preocupações com o desempenho. Caso contrário, utilize a preferência de sistema UpdateTotalIssuesOnCirc.

Gerar ficheiro de leitores para circulação offline

Caminho do script: misc/cronjobs/create_koc_db.pl

Executa: Gera o ficheiro borrowers.db para utilização com a ferramenta de circulação offline do Koha

Sugestão de frequência: semanal

Renovação automática

Caminho do script: misc/cronjobs/automatic_renewals.pl

Executa: renova os empréstimos se permitir a renovação automática nas suas regras de circulação e multas.

Sugestão de frequência: todas as noites

Importante

Para executar isto corretamente, deve utilizar o parâmetro –confirm; caso contrário, apenas será executado em modo de teste

PARÂMETROS - -h|–help

  • mensagem de ajuda

  • –send-notices

    • envia o aviso de renovação automática (AUTO_RENEWALS) aos leitores caso a renovação automática tenha sido efetuada

  • -v|–verbose

    • modo detalhado

  • -c|–confirm

    • sem este parâmetro, não será feita qualquer alteração; o script será executado em modo de teste

    • sem este parâmetro, o script também utilizará o modo detalhado por omissão

Devolução automática

Caminho do script: misc/cronjobs/automatic_checkin.pl

Executa: realiza automaticamente a devolução de exemplares após o período de empréstimo. Este é definido ao nível do tipo de documento.

Sugestão de frequência: todas as noites

Nota

Opcionalmente, as reservas podem ser automaticamente atendidas quando os artigos são devolvidos através deste script. Esta opção é activada pela preferência de sistema AutomaticCheckinAutoFill.

Pedidos de devolução

Pedidos expirados

Caminho do script: misc/cronjobs/recalls/expire_recalls.pl

Executa: marca automaticamente como expirados os pedidos que

  • foram solicitados, mas não foram atendidos e já ultrapassaram a data de validade

  • aguardam levantamento por um período superior ao prazo de levantamento definido nas regras de circulação ou ao período estabelecido na preferência do sistema RecallsMaxPickUpDelay

Sugestão de frequência: todas as noites

Pedidos em atraso

Caminho do script: misc/cronjobs/recalls/overdue_recalls.pl

Executa: marca um pedido como atrasado caso não tenha sido devolvido até à data de vencimento ajustada

Sugestão de frequência: todas as noites

Patronos

Eliminar leitores em lote

Caminho do script: misc/cronjobs/delete_patrons.pl

Executa: elimina registos de leitores em lote com base em parâmetros específicos. Este script irá eliminar os leitores mesmo que estes tenham reservas, pedidos de empréstimo entre bibliotecas (ILL), sugestões ou restrições. Não elimina, mas sim ignora, os leitores que sejam fiadores de outras contas, tenham empréstimos, possuam débitos ou créditos, estejam marcados como protegidos ou tenham permissões de funcionário.

Sugestão de frequência: noturna para a remoção regular de leitores com base em períodos de datas.

Dica

As opções para selecionar os registos de leitores a eliminar são cumulativas. Por exemplo, fornecer tanto --expired_before como --library especifica que os registos dos leitores devem cumprir ambas as condições para serem selecionados para eliminação.

PARÂMETROS

  • -h ou --help

    • Exibir mensagem de ajuda.

  • -v ou --verbose

    • Modo detalhado.

  • -c ou --confirm

    • Adicione esta opção após os outros parâmetros para realmente eliminar os leitores.

    • Sem ele, o script apenas reportará os registos de leitores que teria eliminado.

Nota

Todas as datas devem estar no formato ISO, por exemplo, 2024-07-22. Os períodos podem ser gerados com date -d '-3 month' --iso-8601.

  • --not_borrowed_since

    • Exclua os leitores que não realizaram empréstimos desde esta data.

    Aviso

    Os leitores que tiverem todos os seus registos de empréstimos antigos anonimizados ficarão com um histórico de circulação vazio; estes registos serão eliminados se esta opção for utilizada. A anonimização pode ocorrer porque o leitor tem a configuração borrowers.privacy = 2, através de tarefas agendadas que realizam a anonimização ou quando o leitor opta por anonimizar o seu histórico no OPAC.

  • --expired_before

    • Elimina os leitores cuja data de expiração da conta seja anterior a esta data.

  • --last_seen

    • Apague os utilizadores cuja data da última atividade seja anterior a esta data.

    • Para que este parâmetro tenha efeito, a preferência de sistema TrackLastPatronActivityTriggers deve estar em utilização.

  • --category_code

    • Apague os leitores que possuem este código de categoria.

    • Este parâmetro pode ser utilizado várias vezes para códigos de categoria adicionais, por exemplo: --category_code AB --category_code CD

  • --library

    • Eliminar utilizadores desta biblioteca.

  • --without_restriction_type

    Versão

    Este parâmetro foi introduzido pela primeira vez na versão 25.05 do Koha.

    • Apague os leitores que não possuem uma restrição do tipo especificado.

      • Na prática, o script não eliminará leitores que possuam restrições deste tipo. Irá eliminar leitores com qualquer outro tipo de restrição.

    • Este parâmetro é repetível, pelo que podem ser especificados múltiplos tipos de restrição.

EXEMPLOS DE UTILIZAÇÃO

delete_patrons.pl --category_code AB --library PVL
--expired_before 2026-01-01 --confirm

Excluirá os leitores com código de categoria AB da biblioteca PVL cujas contas tenham expirado antes de 1 de janeiro de 2026.

delete_patrons.pl --last_seen `date -d '-12 month' --iso-8601`
--without_restriction_type RETAIN --confirm

Excluirá os leitores cuja data da última atividade seja de há mais de 12 meses e que não possuam uma restrição do tipo RETAIN.

Anonimizar dados dos leitores

Caminho do script: misc/cronjobs/batch_anonymise.pl

Executa: remove os números de identificação dos leitores do histórico de circulação, de modo a que as estatísticas sejam preservadas, mas as informações dos leitores sejam removidas por motivos de privacidade.

Pseudonimizar as estatísticas existentes

Versão

Este script foi introduzido pela primeira vez na versão 24.05 do Koha.

Caminho do script: misc/maintenance/pseudonymize_statistics.pl

Executa: preenche a tabela pseudonymized_transactions com transações mais antigas provenientes da tabela statistics.

A tabela pseudonymized_transactions começa a ser preenchida quando a preferência de sistema de pseudonimização está ativa. Se a sua biblioteca pretender utilizar transações pseudonimizadas referentes ao período anterior à ativação dessa preferência, pode utilizar este script para pseudonimizar as estatísticas existentes (anteriores).

Frequência: em vez de ser executado regularmente, este script é mais útil para uma execução única. Uma vez ativada a pseudonimização e após a execução do script, não deverá haver necessidade de o executar novamente.

PARÂMETROS

  • -h ou --help

    • Exibir mensagem de ajuda.

  • -v ou --verbose

    • Modo detalhado.

  • -c ou --confirm

    • Parâmetro de confirmação: adicione esta opção após os outros parâmetros. Sem ela, o script será executado em modo de teste e não serão realizadas quaisquer alterações.

  • -b ou --before

    • Especifique uma data e uma hora. Quaisquer transações realizadas nesse momento ou antes dele serão pseudonimizadas.

      • A data e a hora devem estar no formato “AAAA-MM-DD HH:MM:SS”.

      • Se estiver a utilizar apenas uma data, pode formatá-la como AAAA-MM-DD.

    • Isto é útil se a pseudonimização já estiver a ser executada há algum tempo e apenas necessitar de pseudonimizar transações anteriores à sua ativação.

    • Se executar o script sem este parâmetro, todas as estatísticas datadas de pouco antes do momento atual serão pseudonimizadas.

Dica

Verifique a data dos registos mais antigos na sua tabela de estatísticas antes de utilizar este script. Se necessário, reduza as estatísticas com o script cleanup_database.pl.

EXEMPLO DE UTILIZAÇÃO

pseudonymize_statistics.pl --before "2024-12-31 23:59:59" --confirm

Cria transações na tabela pseudonymized_transactions a partir de transações da tabela statistics datadas de 31 de dezembro de 2024, às 23:59:59, ou antes.

Restringir os leitores com falhas nas notificações

Versão

Este script foi introduzido pela primeira vez na versão 24.11 do Koha.

Caminho do script: misc/cronjobs/restrict_patrons_with_failed_notices.pl

Executa: adiciona restrições às contas de leitores quando estes são os destinatários pretendidos de avisos por email ou SMS cujo envio falhou.

Requer: RestrictPatronsWithFailedNotices

Periodicidade: semanal. Por omissão, o script afeta as notificações que falharam nos últimos 7 dias.

PARÂMETROS

  • -h ou --help

    • Exibir mensagem de ajuda.

  • -v ou --verbose

    • Modo detalhado.

  • -c ou --confirm

    • Parâmetro de confirmação: o script irá alterar a base de dados, aplicando uma restrição aos leitores que tiveram falhas no envio de notificações por SMS e email.

Atualizar categorias de leitores

Caminho do script: misc/cronjobs/update_patrons_category.pl

Executa: Atualiza a categoria de leitores que cumprem os critérios especificados para outra categoria de leitor definida. Isto pode ser utilizado para converter os leitores da categoria infantil para a categoria adulta quando atingem o limite de idade superior definido na categoria de leitor.

Este script substitui o script j2a.pl.

Sugestão de frequência: todas as noites

DESCRIÇÃO

Foi concebido para atualizar os leitores de uma categoria para outra, utilizando os critérios especificados através de argumentos de linha de comando.

PARÂMETROS

  • –too_old Atualiza se o leitor ultrapassar o limite de idade superior da sua categoria de leitor atual.

  • –too_young Atualiza se o leitor estiver abaixo do limite de idade mínima da sua categoria de leitor.

  • –fo=X|–fineover=X Atualizar se o valor total das penalizações na conta do leitor for superior a X.

  • –fu=X|–fineunder=X Atualizar se o valor total das multas na conta do leitor for inferior a X.

  • –rb=data|regbefore=data Atualiza se a data de registo do leitor for anterior à data especificada.

  • –ra=data|regafter=data Atualizar se a data de registo do leitor for posterior à data especificada.

  • -d –field name=value Atualiza se a condição especificada for satisfeita. <name> deve ser substituído pelo nome de uma coluna da tabela de leitores. A condição é satisfeita se o conteúdo do campo for igual a <value>.

  • –where <conditions> Atualiza se a cláusula SQL <where> for satisfeita.

  • -v|–verbose Modo detalhado: Sem esta flag, apenas são reportados erros fatais.

  • -c|–confirm Confirma as alterações na base de dados. Nenhuma alteração será realizada a menos que este argumento seja adicionado ao comando.

  • -b|–branch <branchcode> Atualiza se a biblioteca de origem do utilizador corresponder ao <branchcode> fornecido.

  • -f|–form <categorycode> Atualizar, se o leitor pertencer atualmente a essa categoria de leitor.

  • -t|–to <categorycode> Atualiza os leitores que correspondem aos critérios para esta categoria de leitores.

EXEMPLOS DE UTILIZAÇÃO

“update_patrons_category.pl”

“update_patrons_category.pl” -b=<branchcode> -f=<categorycode> -t=<categorycode> -c” (Processa uma única biblioteca e atualiza as categorias de leitores, passando de uma categoria para outra)

“update_patrons_category.pl” -f=<categorycode> -t=<categorycode> -v” (Processa todas as bibliotecas, apresenta todas as mensagens e reporta os leitores que seriam afetados. Não realiza qualquer ação na base de dados.)

Atualizar as preferências de mensagens dos leitores

Caminho do script: misc/maintenance/borrowers-force-messaging-defaults.pl

Executa: atualiza as preferências de mensagens dos leitores para os valores padrão definidos nas categorias de leitores.

As preferências de notificação padrão são definidas automaticamente ao adicionar um novo leitor ou ao importar leitores utilizando a ferramenta de importação de leitores. No entanto, se importar leitores diretamente na base de dados, estas preferências de notificação não serão definidas.

Não existe uma frequência sugerida. Esta é uma ferramenta para ser utilizada consoante a necessidade; no entanto, se importar leitores regularmente e de forma direta para a base de dados (através de um sistema de terceiros, por exemplo), pode adicioná-la ao seu crontab.

DESCRIÇÃO

Se a preferência de sistema EnhancedMessagingPreferences for ativada após a criação de leitores na base de dados, estes leitores não terão os valores padrão de preferência de meio de envio de mensagens definidos para a sua categoria de leitor. Assim, seria necessário modificar cada leitor individualmente caso se pretenda enviar-lhes, por exemplo, um aviso de ‘Reserva preenchida’.

Este script cria ou sobrescreve as preferências de mensagens para todos os leitores e define-as com os valores padrão estabelecidos para a categoria a que pertencem (a menos que utilize as opções -not-expired ou -no-overwrite para actualizar um subconjunto).

PARÂMETROS

  • --help

    • Exibir mensagem de ajuda.

  • --doit

    • Atualiza os leitores. O script não atualizará as preferências de mensagens dos leitores sem esta opção. Apenas listará os leitores que teriam sido atualizados.

  • --not-expired

    • Atualizar apenas os leitores que ainda estão ativos (cujos registos ainda não expiraram).

  • --no-overwrite

    • Atualizar apenas os leitores que não tenham preferências de comunicação definidas. Esta opção irá ignorar os leitores que já tiverem definido as suas preferências.

  • --category

    • Atualizar apenas os leitores da categoria especificada.

    Aviso

    Esta opção não pode ser repetida.

    Por exemplo:

    borrowers-force-messaging-defaults.pl --doit --category PT --category B
    

    apenas atualizará os leitores da categoria B (a última categoria especificada).

  • --library

    • Atualizará apenas os leitores cuja biblioteca de origem corresponda ao código de biblioteca fornecido.

  • --message-name

    • Atualizará as preferências apenas para a mensagem específica.

    • A lista de valores pode ser encontrada em installer/data/mysql/mandatory/sample_notices_message_attributes.sql, na coluna message_name da tabela message_attributes na base de dados, ou na ferramenta de avisos e recibos.

  • --since

    • Atualizar apenas os leitores registados a partir da data especificada.

    Nota

    Esta opção pode utilizar datas específicas ou relativas.

    Por exemplo:

    borrowers-force-messaging-defaults.pl --doit --since "2022-07-12"
    

    apenas atualizará os leitores inscritos desde 12 de julho de 2022.

    E:

    borrowers-force-messaging-defaults.pl --doit --since `date -d "1 day ago" '+%Y-%m-%d'
    

    apenas atualizará os leitores registados desde ontem.

EXEMPLOS DE UTILIZAÇÃO

borrowers-force-messaging-defaults.pl --doit

Atualiza todos os leitores para lhes atribuir os valores padrão de preferência de mensagens das respetivas categorias.

borrowers-force-messaging-defaults.pl --doit --not-expired

Atualiza todos os leitores cujas adesões não tenham expirado, atribuindo-lhes os valores padrão de preferência de mensagens das respetivas categorias.

borrowers-force-messaging-defaults.pl --doit --category PT

Atualiza todos os leitores da categoria PT para definir as preferências de mensagens padrão dessa categoria para eles.

borrowers-force-messaging-defaults.pl --doit --no-overwrite --since "2022-03-01"

Atualiza os leitores que não têm preferências de mensagens definidas e que estão registados desde 1 de março de 2022.

borrowers-force-messaging-defaults.pl --doit --no-overwrite --since `date -d "1 day ago" '+%Y-%m-%d'

Atualiza os leitores que não têm preferências de mensagens definidas e que se registaram a partir de ontem.

borrowers-force-messaging-defaults.pl --doit --library CPL

Atualiza os leitores cuja biblioteca de origem é a CPL.

borrowers-force-messaging-defaults.pl --doit --message-name Item_due

Atualiza as preferências apenas para a mensagem de “Emprésitmo em atraso”.

Correspondências

Fila de mensagens

Caminho do script: misc/cronjobs/process_message_queue.pl

Executa: processa a fila de mensagens para enviar emails e mensagens SMS aos leitores. As mensagens são colocadas na fila por outros scripts, como por exemplo advance_notices.pl, overdue_notices.pl e holds_reminder.pl.

Sugestão de frequência: 1 a 4 horas

DESCRIÇÃO

Este script processa a fila de mensagens na tabela message_queue da base de dados. Envia as mensagens dessa fila e marca-as adequadamente para indicar sucesso ou falha. Recomenda-se a sua execução regular via cron, especialmente se estiver a utilizar o script advance_notices.pl.

PARÂMETROS

  • -u | –username

    • Nome de utilizador da conta de email utilizada para enviar as notificações.

  • -p | –password

    • Palavra-passe da conta de email utilizada para enviar as notificações.

  • -t | –type

    • Se for fornecido, apenas processa este tipo de mensagem. Os valores possíveis são

      • email

      • sms

    • Repetível

  • -c | –code

    • Se for fornecido, apenas processa mensagens com este código de letra.

    • Repetível.

  • -l | –limit

    • O número máximo de mensagens a processar nesta execução.

  • -m | –method

    • Método de autenticação exigido pelo servidor SMTP (consulte o perldoc Sendmail.pm para obter os tipos de autenticação suportados).

  • -h | –help

    • Mensagem de ajuda.

  • -v | –verbose

    • Fornece saída detalhada para a STDOUT.

  • -w | –where

    • Filtra as mensagens a enviar com condições adicionais numa cláusula where.

Avisos prévios

Caminho do script: misc/cronjobs/advance_notices.pl

Executa: prepara avisos de “pré-atraso” e de “a terminar” para os utilizadores que os solicitem; prepara avisos para os utilizadores sobre artigos que acabaram de vencer ou cujo vencimento está próximo; requer a configuração de EnhancedMessagingPreferences como ‘Permitir’

Sugestão de frequência: todas as noites

Nota

Este script não envia as notificações propriamente ditas. Coloca-as na fila de mensagens para processamento posterior.

Aviso de atraso

Caminho do script: misc/cronjobs/overdue_notices.pl

Executa: prepara mensagens para alertar os leitores sobre exemplares em atraso (tanto por email como em formato impresso)

Sugestão de frequência: todas as noites

DESCRIÇÃO

Este script cria e adiciona à fila os avisos de atraso de acordo com os parâmetros definidos na ferramenta de aviso de atraso.

PARÂMETROS

  • -n | –nomail

    • Não envie qualquer email. Os avisos de atraso que seriam enviados aos leitores ou ao administrador são impressos na saída padrão. Os dados em CSV (se a flag –csv estiver definida) são gravados na saída padrão ou no ficheiro CSV especificado.

  • –max <days>

    • Número máximo de dias de atraso a tratar.

    • Assume-se que os empréstimos com um atraso superior ao número máximo de dias são tratados por outro processo, provavelmente o script longoverdues. Portanto, são ignorados por este script; não são enviados avisos a seu respeito, nem são incluídos em quaisquer ficheiros CSV.

    • O padrão é 90 dias.

  • –library <branchcode>

    • Trate apenas dos exemplares em atraso desta biblioteca.

    • Utilize o valor da tabela branches. branchcode.

    • Este parâmetro é repetível, para processar empréstimos em atraso de um grupo de bibliotecas.

  • –csv <filename>

    • Gera um ficheiro CSV.

    • Se o parâmetro -n (sem envio de email) estiver definida, estes dados CSV são enviados para a saída padrão ou para um ficheiro, caso seja fornecido um nome de ficheiro. Caso contrário, apenas os artigos em atraso que não puderam ser notificados por email são enviados para o administrador no formato CSV.

  • –html <directory>

    • Gera a saída HTML para um ficheiro na diretoria especificada.

    • Se um leitor não possuir endereço de email ou se o parâmetro -n (sem e-mail) estiver definida, será gerado um ficheiro HTML no diretório especificado. Esse ficheiro poderá ser descarregado ou processado posteriormente pela equipa da biblioteca.

    • O ficheiro será chamado notices-YYYY-MM-DD.html e colocado na diretoria especificada.

  • –text <directory>

    • Gera texto simples num ficheiro na diretoria especificada.

    • Se um leitor não possuir um endereço de email ou se o parâmetro -n (sem email) estiver definida, será gerado um ficheiro de texto na diretoria especificada. Esse ficheiro poderá ser descarregado ou processado posteriormente pela equipa da biblioteca.

    • O ficheiro será chamado notices-YYYY-MM-DD.txt e colocado na diretoria especificada.

  • –itemscontent <list of fields>

    • Informações do exemplar nos modelos.

    • Aceita uma lista de campos separados por vírgula que são substituídos nos modelos no lugar do marcador <<items.content>>.

    • O padrão é data de término, título, código de barras, autor

    • Outros valores possíveis provêm de campos das tabelas biblio, items e issues.

  • –borcat <categorycode>

    • Prepare avisos de atraso apenas para as categorias de leitores especificadas.

    • Este parâmetro é repetível, para incluir várias categorias de leitores.

    • Utilize o valor de categories.categorycode.

  • –borcatout <categorycode>

    • Não prepare avisos de atraso para categorias de leitores especificadas.

    • Este parâmetro é repetível, para excluir várias categorias de leitores.

    • Utilize o valor de categories.categorycode.

    • t | –triggered

    • Esta opção faz com que seja gerado um aviso se, e apenas se, um exemplar estiver em atraso pelo número de dias definido no disparo de aviso de atraso.

    • Por omissão, é enviada uma notificação sempre que o script é executado; isto é adequado para execuções menos frequente, mas exige sincronizar os gatilhos de notificação com a programação do cron para garantir o comportamento correto.

    • Adicione a opção –triggered para o cron diário, correndo o risco de não ser gerada qualquer notificação caso o cron falhe a execução à hora prevista.

  • –test

    • Esta opção faz com que o script seja executado em modo de teste.

    • No modo de teste, o script não fará qualquer alteração na base de dados. Isto é útil para depurar a configuração.

  • –list-all

    • Por omissão, <<items.content>> lista apenas os exemplares que se enquadram no intervalo do aviso que está a ser processado no momento.

    • Escolha –list-all para incluir todos os exemplares em atraso na lista (limitados pela definição –max).

  • –date <aaaa-mm-dd>

    • Simule a execução de atrasos para esta data.

  • –email <email_type>

    • Especifique o tipo de email que será utilizado.

    • Pode ser ‘email’, ‘emailpro’ ou ‘B_email’.

    • Este parâmetro é repetível.

  • –frombranch

    • Organize e envie os avisos de atraso com base na biblioteca de origem do exemplar (item-homebranch) ou na biblioteca onde o empréstimo foi realizado (item-issuebranch).

    • O predefinido é item-issuebranch.

    Nota

    Esta opção só é utilizada se a preferência de sistema OverdueNoticeFrom estiver definida como ‘command-line option’.

EXEMPLOS DE UTILIZAÇÃO

“overdue_notices.pl”

(Todas as bibliotecas são processadas individualmente, e são preparados avisos para todos os leitores com exemplares em atraso para os quais temos endereços de email. As mensagens destinadas a leitores para os quais não temos endereço de email são enviadas num único anexo para o endereço de email do administrador da biblioteca ou para o endereço definido na preferência de sistema KohaAdminEmailAddress.)

“overdue_notices.pl -n –csv /tmp/overdues.csv”

(Não envia e-mail e preenche o ficheiro /tmp/overdues.csv com informação sobre todos os exemplares em atraso.)

“overdue_notices.pl –library MAIN max 14

(Prepara avisos de atraso referentes às últimas duas semanas para a biblioteca MAIN.)

Nota

Este script não envia as notificações propriamente ditas. Coloca-as na fila de mensagens para envio posterior ou gera o HTML para impressão.

Nota

Ver também:

O script misc/cronjobs/advance_notices.pl permite enviar mensagens aos utilizadores antes do vencimento dos empréstimos ou alertá-los para empréstimos que acabaram de vencer.

O script misc/cronjobs/process_message_queue.pl envia os e-mails.

Lembrete de reserva

Caminho do script: misc/cronjobs/overdue_notices.pl

Executa: prepara mensagens de lembrete para envio a leitores com reservas a aguardar levantamento.

A opção EnhancedMessagingPreferences deve estar definida como ‘Permitir’, e os leitores devem ter solicitado a receção deste aviso (seja através do separador Mensagens na sua conta online no OPAC, caso EnhancedMessagingPreferencesOPAC esteja definido como ‘Mostrar’, ou nas suas preferências de mensagens na interface dos técnicos).

Sugestão de frequência: todas as noites

PARÂMETROS

  • -c | –confirm

    • Parêmetro de confirmação, não será gerado qualquer email se este parâmetro não estiver definido

  • -date <AAAA-MM-DD>

    • Envie notificações tal como teriam sido enviadas numa data específica

  • -days <number of days>

    • Número de dias de espera do levantamento da reserva

    • Se este parâmetro não for definido, será enviado um aviso a todos os leitores com reservas em espera

    • Parâmetro opcional

  • -holidays

    • Utilizar o calendário para excluir os feriados da contagem de dias de espera

  • -lettercode <lettercode>

    • Código do aviso predefinido a utilizar

    • Parâmetro opcional, o predefinido é HOLD_REMINDER

  • -library <branchcode>

    • Lidar apenas com reservas desta biblioteca

    • Este parâmetro é repetível, para selecionar avisos para um grupo de bibliotecas

  • -mtt <message_transport_type>

    • Tipo de mensagens a enviar (email, sms, print)

      • As opções ‘email’ e ‘sms’ recorrerão ao ‘print’ caso o utilizador não possua um endereço de email ou número de telefone

    • O padrão é utilizar as preferências de mensagens dos leitores para o aviso de ‘Lembrete de reserva’

    • Passar este parâmetro forçará o envio, mesmo que o utilizador não tenha optado por receber avisos de lembrete de reservas

    • Isto pode ser repetido para enviar vários avisos

  • -t | –triggered

    • Incluir apenas uma retenção de <days> dias, e não mais do que isso

    • Se isto não for definido, o script enviará mensagens para todos os pedidos de reserva pendentes há um período igual ou superior a <days> dias

    • Esta opção é útil se o cron for executado diariamente, para evitar o envio excessivo de mensagens aos utilizadores

    • Parâmetro opcional

  • -v

    • Modo detalhado

    • Sem este parâmetro definido, apenas são reportados erros fatais.

    • Se o modo detalhado estiver ativado, mas não confirmado, será impressa uma lista dos avisos que seriam enviados aos leitores na saída padrão

  • -help

    • Mensagem de ajuda breve

  • -man

    • Documentação completa

    EXEMPLOS

    A seguir, apresentam-se exemplos deste script:

    holds_reminder.pl -library MAIN -days 14
    

    prepara avisos de reservas pendentes há duas semanas para a biblioteca principal

    holds_reminder.pl -lettercode LATE_HOLDS -library MAIN -days 14
    

prepara avisos de reservas em espera há 2 semanas para a biblioteca principal, utilizando o modelo de aviso ‘LATE_HOLDS’

Talking Tech

Para saber mais sobre a configuração deste produto de terceiros, consulte o capítulo Talking Tech.

Enviar ficheiro de avisos

Caminho do script: misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl

Executa: gera o ficheiro de notificações de saída no formato Spec C para o sistema de notificações telefónicas Talking Tech i-tiva.

Exigido por: TalkingTechItivaPhoneNotification

Sugestão de frequência: todas as noites

Receber ficheiro de avisos

Caminho do script: misc/cronjobs/thirdparty/TalkingTech_itiva_inbound.pl

Executa: processa os ficheiros de resultados recebidos para o sistema de notificação telefónica Talking Tech i-tiva.

Exigido por: TalkingTechItivaPhoneNotification

Sugestão de frequência: todas as noites

Notificar os leitores sobre a expiração

Caminho do script: misc/cronjobs/membership_expiry.pl

Executa: envia mensagens para alertar os leitores sobre a expiração das suas contas para a fila de mensagens. Pode também, opcionalmente, renovar as contas dos utilizadores.

Requer: MembershipExpiryDaysNotice

Frequência: todas as noites

PARÂMETROS

  • --man

    • Apresenta a página de manual e termina a execução.

  • --help

    • Apresenta uma breve mensagem de ajuda e termina a execução.

  • -v

    • Modo detalhado.

    • Sem este parâmetro definido, apenas são reportados erros fatais.

  • -n

    • Não envie qualquer email. Os avisos de expiração da conta que seriam enviados aos leitores são impressos na saída padrão.

  • -c

    • Parâmetro de confirmação: adicione esta opção. Caso contrário, o script apenas apresentará uma mensagem de utilização.

  • -branch

    • Código de biblioteca opcional para restringir o cronjob a essa biblioteca.

  • -before

    • Parâmetro opcional para estender a seleção num determinado número de dias ANTES da data definida pela preferência do sistema MembershipExpiryDaysNotice.

  • -after

    • Parâmetro opcional para estender a seleção num número de dias APÓS a data definida pela preferência do sistema MembershipExpiryDaysNotice.

    • Por exemplo, --before 100 --after 100 notificará os leitores cujas contas expiram num intervalo de 100 dias antes e 100 dias depois da preferência do sistema MembershipExpiryDaysNotice.

  • -where

    • Utilize esta opção para especificar uma condição. Adicione “me” (alias) seguido do nome da coluna da tabela de leitores.

    • Os espaços, se necessário, devem ser escapados com uma barra invertida.

    • As aspas simples ou duplas devem ser escapadas com uma barra invertida.

    • Por exemplo:

      • --where="me.categorycode!='YA'" irá notificar os leitores de categorias diferentes de ‘YA’

      • --where="me.categorycode='S'" apenas notificará os leitores da categoria ‘S’

      • --where 'me.lastseenISNOTNULL' apenas notificará os leitores que já foram vistos.

  • -letter

    • Parâmetro opcional para utilizar um aviso diferente do predefinido: MEMBERSHIP_EXPIRY

  • -letter_renew

    • Parâmetro opcional para utilizar um aviso de renovação diferente do padrão: MEMBERSHIP_RENEWED

  • -active

    • Seguido por um número de meses.

    • Parâmetro opcional para incluir apenas os leitores ativos (dentro do número de meses indicado).

    • Este parâmetro requer a preferência de sistema TrackLastPatronActivityTriggers.

    • Não pode ser utilizado com -inactive abaixo; os dois parâmetros são mutuamente exclusivos

  • -inactive

    • Seguido por um número de meses.

    • Parâmetro opcional para incluir apenas os patronos inativos (há um determinado número de meses).

    • Este parâmetro requer a preferência de sistema TrackLastPatronActivityTriggers.

    • Não pode ser utilizado com -active acima; os dois parâmetros são mutuamente exclusivos

  • -renew

    • Parâmetro opcional para renovar automaticamente os leitores, em vez de lhes enviar um aviso de expiração.

    • Serão notificados através de um aviso de renovação da conta (o padrão MEMBERSHIP_RENEWED ou um personalizado, especificado por -letter_renew)

EXEMPLOS DE UTILIZAÇÃO

membership_expiry.pl -c

Gerará avisos de término da conta para os leitores cuja adesão expira no número de dias definido em MembershipExpiryDaysNotice.

membership_expiry.pl -c -renew

Renovará as contas dos utilizadores cuja adesão expire dentro do número de dias definido em MembershipExpiryDaysNotice e gerará notificações MEMBERSHIP_RENEWED para os mesmos.

membership_expiry.pl -c -renew -letter_renew PATRON_RENEWAL

Renovará os utilizadores cuja adesão expire dentro do número de dias definido em MembershipExpiryDaysNotice e gerará para os mesmos os avisos personalizados do tipo “PATRON_RENEWAL”. Um aviso do tipo “PATRON_RENEWAL” deve ter sido previamente criado na ferramenta de avisos e recidos.

membership\_expiry.pl -c -before 30

Gerará notificações MEMBERSHIP_EXPIRY de expiração de adesão para leitores cuja adesão expire 30 dias antes do número de dias definido em MembershipExpiryDaysNotice.

membership_expiry.pl -c -renew -active 3

Renovará as contas dos leitores cuja adesão expire dentro do número de dias definido em MembershipExpiryDaysNotice e que tenham estado ativos nos últimos três meses (a “atividade” é determinada pela preferência de sistema TrackLastPatronActivityTriggers), gerando notificações do tipo MEMBERSHIP_RENEWED.

membership_expiry.pl -c -inactive 6 -letter INACTIVE_PATRON

Gerará os avisos personalizados “INACTIVE_PATRON” para os leitores cuja conta expira no número de dias definido em MembershipExpiryDaysNotice e que estiveram inativos nos últimos seis meses (a “atividade” é determinada pela preferência de sistema TrackLastPatronActivityTriggers). Um aviso “INACTIVE_PATRON” deve ter sido criado previamente na ferramenta de avisos e recibos.

Em processamento/carrinho

Caminho do script: misc/cronjobs/cart_to_shelf.pl

Executa: atualiza todos os exemplares com a localização CART para a localização permanente do exemplar.

Exigido por: preferências de sistema NewItemsDefaultLocation, UpdateItemLocationOnCheckin e UpdateItemLocationOnCheckout.

Sugestão de frequência: de hora a hora

Catálogo

Importação em lote de webservice

Caminho do script: misc/cronjobs/import_webservice_batch.pl

Executa: processa filas de lote de importação do tipo ‘webservice’. Os lotes também podem ser processados através da interface do utilizador.

Nota

Este script é utilizado para o OCLC Connexion

Agregação OAI-PMH

Versão

Este script foi introduzido pela primeira vez na versão 24.11 do Koha.

Caminho do script: misc/cronjobs/harvest_oai.pl

Executa: processa a recolha de registos para os repositórios OAI descritos em Administração.

Sugestão de frequência: semanal; embora isso dependa da frequência com que os registos são criados ou atualizados nos repositórios que está a recolher.

PARÂMETROS

  • -h ou --help

    • Apresenta uma breve mensagem de ajuda.

  • -l ou --list

    • Lista os repositórios.

  • -r ou --repository

    • Identificador do repositório que pretende agregar. Encontrará esta informação em Administração > Repositórios OAI.

  • -d ou -–days

    • Número de dias a considerar para a agregação. Por exemplo: agregar registosatualizados ou criados no repositório remoto nos últimos 10 dias.

  • -v ou -–verbose

    • Modo detalhado.

  • -f ou -–force

    • Força a agregação sem ter em conta a data dos registos (a data em que os registos foram criados ou atualizados pela última vez).

Dica

Quando agregar registos de um repositório pela primeira vez, execute o script uma vez com o parâmetro --force para recolher todos os registos existentes.

Eliminar exemplares em lote

Caminho do script: misc/cronjobs/delete_items.pl

Executa: gera uma consulta na base de dados de exemplares e elimina os exemplares que correspondam aos critérios especificados nos argumentos da linha de comandos. Uma ferramenta leve de eliminação em lote de exemplares, adequada para execução numa tarefa cron.

PARÂMETROS

  • --help

    • Apresenta uma breve mensagem de ajuda.

  • --man

    • Imprime o manual, com exemplos.

  • --verbose

    • Imprime a cláusula “WHERE” gerada pelos argumentos --where recolhidos, bem como os exemplares afetados, na saída padrão (stdout).

    • As informações do exemplar impressas são

      • itemnumber

      • barcode

      • title

  • --where

    • O argumento seguinte deve ser uma instrução SQL sintaticamente válida que faça parte da cláusula WHERE numa consulta à tabela items.

    • Repetível. Se existirem múltiplos parâmetros --where, serão combinados com AND.

  • --del_bibs

    • Quando este parâmetro está definido, se o script eliminar o último exemplar ligado a um registo bibliográfico, o registo bibliográfico vazio também será eliminado.

    Versão

    O parâmetro --del_bibs foi adicionado na versão 25.11 do Koha.

  • --commit

    • Nenhum exemplar será eliminado, a menos que este parâmetro esteja presente.

EXEMPLOS DE UTILIZAÇÃO

delete_items.pl --where "items.withdrawn != 0" --where "items.withdrawn_on < $(date --date="13 month ago" --rfc-3339=date)" --commit

Isto excluirá os exemplares em que o estado de retirado não seja zero E a data de retirado seja anterior a 13 meses atrás.

delete_items.pl --where "itemlost >= '1'" --where "itemlost <='4'" --where "itemlost_on < '2014-04-28'" --commit

Isto irá eliminar os exemplares cujo estado de perdido esteja entre 1 e 4 (inclusive) E que tenham sido perdidos antes de 2014-04-28.

Verificar os URLs

Caminho do script: misc/cronjobs/check-url-quick.pl

Nota

Este script substitui o script check-url.pl, que foi descontinuado

Executa: verifica URLs de registos bibliográficos; examina, por omissão, todos os URLs encontrados no campo 856$u dos registos bibliográficos e indica se os recursos estão disponíveis ou não.

PARÂMETROS

  • –host=http://default.tld Servidor utilizado quando o URL não tem um, ou seja, não começa por ‘http:’. Por exemplo, se –host=mylib.com, então, quando o campo 856$u contiver ‘img/image.jpg’, o URL verificado será: http://www.mylib.com/image.jpg.

  • –tags Campo que contêm URLs em subcampos $u. Se não forem fornecidas, a etiqueta 856 é verificada. Podem ser especificados múltiplos campos, por exemplo:

    check-url-quick.pl –tags 310 410 856

  • –verbose|v Apresenta tanto os URLs bem-sucedidos como os que falharam.

  • –html Formata a saída em HTML. O resultado pode ser redirecionado para um ficheiro acessível via HTTP. Desta forma, é possível criar um endereço direto para o registo bibliográfico em modo de edição. A utilização deste parâmetro requer o parâmetro –host-intranet.

  • –host-intranet=http://koha-pro.tld Servidor utilizado para criar ligações para a página de edição de registos bibliográficos na interface administrativa do Koha.

  • –timeout=10 Tempo limite para obter os URLs. O predefinido é 10 segundos.

  • –maxconn=1000 Número de pedidos HTTP simultâneos. O padrão é 200 ligações.

Apagar registos via etiqueta

Caminho do script: misc/cronjobs/delete_records_via_leader.pl

Executa: tenta eliminar quaisquer registos MARC em que o caractere 5 da etiqueta seja igual a ‘d’.

PARÂMETROS

  • -c|–confirm O script não fará nada sem este parâmetro

  • -v|–verbose Modo detalhado

  • -t|–teste Modo de teste, não elimina registos. O modo de teste não consegue determinar se um registo será eliminado com sucesso, apenas informa quais os registos que o script tentará eliminar.

  • -i|–delete-items Tenta eliminar os exemplares antes de eliminar o registo. Os registos com exemplares não podem ser eliminados.

Atualizar as autoridades

Caminho do script: misc/cronjobs/merge_authorities.pl

Executa: atualiza os dados bibliográficos com alterações nos registos de autoridade

Nota

O nome deste script é enganador. Não funde registos de autoridade entre si; em vez disso, funde os dados de autoridade com os registos bibliográficos ligados. Ao executar o script, as alterações efetuadas nos registos de autoridade serão aplicadas aos registos bibliográficos que utilizem essa autoridade.

Exigido por: preferência do sistema AuthorityMergeLimit

Sugestão de frequência: todas as noites

Atualização dos periódicos

Caminho do script: misc/cronjobs/serialsUpdate.pl

Executa: verifica se existe uma número “em atraso” nas assinaturas ativas; se houver, o script irá marcá-la como atrasado e adicionar o próximo como previsto.

Sugestão de frequência: todas as noites

Atualização automática de exemplares

Caminho do script: misc/cronjobs/automatic_item_modification_by_age.pl

Executa: atualiza os exemplares com base na lista de regras definidas na ferramenta Modificações automáticas de exemplares por idade

Exigido por: Modificações automáticas de exemplares por idade

Sugestão de frequência: todas as noites

Rotação de acervo

Caminho do script: misc/cronjobs/stockrotation.pl

Executa: move os exemplares de uma etapa de rotação de stock para a seguinte, caso estejam disponíveis para processamento.

Cada biblioteca receberá um relatório com “exemplares de interesse” para as verificações da rota de hoje. Cada exemplar listado deve, segundo o Koha, estar localizado nas estantes dessa unidade e necessita de ser levantado e registado como devolvido.

Nota

O email enviado baseia-se no modelo SR_SLIP. Pode ser personalizado na ferramenta Avisos e recibos.

O exemplar irá:

  • colocado em trânsito para a nova biblioteca de estágio;

  • colocado em trânsito para ser devolvido na biblioteca da estágio atual;

  • adicionados à rota e já estarão na biblioteca correta;

No momento da devolução,

  • os exemplares que necessitem de ser transferidos para outro local serão colocados em trânsito, e surgirá uma mensagem a solicitar o envio do exemplar para a nova biblioteca.

  • os exemplares que já se encontram na biblioteca correta serão devolvidos no sistema e não será apresentada qualquer mensagem.

Exigido por: ferramenta de rotação de stock

Sugestão de frequência: todas as noites

PARÂMETROS

  • -a|–admin-email

    • Endereço para o qual também devem ser enviados relatórios por email

    • Este é um endereço de email adicional para o qual serão enviados todos os relatórios por email, para além do envio para os endereços de email das bibliotecas.

  • -b|–branchcode

    • Selecione a biblioteca para a qual gerar relatórios de ‘email’ (padrão: todas)

    • Se o relatório de ‘email’ for selecionado, pode utilizar o parâmetro ‘branchcode’ para especificar de que biblioteca pretende visualizar o relatório.

    • O padrão é ‘todas’.

  • -x|–execute

    • Realizar efetivamente a organização da rotação de stock

    • Por omissão, este script apenas informa o estado atual do subsistema de rotação de stocks. Para colocar efetivamente os exemplares em trânsito, o script deve ser executado com o argumento ‘execute’.

  • -r|–report

    • Selecione ‘full’ ou ‘email’

    • O argumento ‘report’ permite selecionar o tipo de relatório que será gerado.

    • O padrão é ‘full’.

    • Se o relatório de ‘email’ for selecionado, pode utilizar o parâmetro ‘branchcode’ para especificar de que biblioteca pretende visualizar o relatório.

  • -S|–Send-all

    • Envie relatórios por email mesmo que o corpo do relatório esteja vazio

    • Este argumento faz com que até mesmo relatórios com o corpo vazio sejam enviados.

  • -s|–send-email

    • Enviar relatórios por email

    • Este argumento faz com que o script envie relatórios por email.

  • -h|–help

    • Exibir a mensagem de ajuda

OPAC

RSS feeds

Caminho do script: misc/cronjobs/rss/rss.pl

Executa: gera um documento RSS XML para qualquer consulta SQL (não utilizado para o feed RSS de resultados de pesquisa). Saiba mais.

Sugestão de frequência: de hora a hora

Navegador de autoridades

Caminho do script: misc/cronjobs/build_browser_and_cloud.pl

Executa: gera conteúdos para navegação das autoridades no OPAC.

Exigido pela preferência de sistema OpacBrowser

Importante

Esta preferência e este cron job devem ser utilizados apenas em sistemas franceses.

Nuvens de assuntos/autores

Caminho do script: misc/cronjobs/cloud-kw.pl

Executa: gera nuvens de palavras-chave em HTML a partir dos índices Zebra do Koha. O ficheiro misc/cronjobs/cloud-sample.conf contém um exemplo do funcionamento deste script.

Frequência: Este é o tipo de script que pode executar mais ou menos uma vez por mês, uma vez que o conteúdo gerado não sofrerá muitas alterações ao longo do tempo.

administração do sistema

Limitação de serviços

Caminho do script: misc/cronjobs/services_throttle.pl

Executa: reinicia o limite dos serviços xISBN

Sugestão de frequência: todas as noites

Limpar base de dados

Caminho do script: misc/cronjobs/cleanup_database.pl

Executa: trunca as tabelas da base de dados do Koha, removendo entradas e ficheiros antigos. Consulte a estrutura da base de dados do Koha para obter detalhes sobre cada uma das tabelas mencionadas nos parâmetros do script.

Sugestão de frequência: todas as noites

PARÂMETROS

  • -h ou --help

    • Apresenta uma breve mensagem de ajuda e termina a execução, ignorando todas as outras opções.

  • -v ou --verbose

    • Modo detalhado.

  • --confirm

    • Parâmetro de confirmação: adicione esta opção após os outros parâmetros. Caso contrário, o script apenas apresentará uma mensagem de utilização.

  • --cards

    • Seguido de um número de dias.

    • Para remover da tabela creator_batches quaisquer lotes de criação de cartões de utilizador adicionados antes do número de dias especificado.

  • --del-exp-selfreg

  • --del-unv-selfreg

    • Seguido de um número de dias.

    • Para eliminar todos os autoregistos não verificados na tabela borrower_modifications que sejam mais antigos do que o número de dias especificado.

  • --deleted-catalog

    • Seguido de um número de dias.

    • Para remover das tabelas deletedbiblio, deletedbiblio_metadata, deletedbiblioitems e deleteditems quaisquer registos bibliográficos eliminados antes do número de dias especificado.

  • --deleted-patrons

    • Seguido de um número de dias.

    • Para remover da tabela deletedborrowers quaisquer utilizadores eliminados antes do número de dias especificado.

  • --edifact-messages

    • Seguido de um número de dias.

    • Para remover da tabela edifact_messages quaisquer mensagens EDIFACT mais antigas do que o número de dias especificado. As mensagens com o estado ‘novo’ estão isentas e não serão eliminadas.

    • O predefinido é 365 dias se não for especificado nenhum número.

  • --fees

    • Seguido de um número de dias.

    • Para limpar registos na tabela accountlines anteriores ao número de dias especificado, em que o valor pendente é 0 ou NULL.

    • Para este parâmetro, o número de dias especificado deve ser maior ou igual a 1.

  • import

    • Seguido de um número de dias.

    • Para remover das tabelas import_batches, import_biblios, import_items, import_record_matches e import_records quaisquer registos mais antigos do que o número de dias especificado.

    • Em import_batches, os lotes resultantes das pesquisas Z39. 50 são removidos com o parâmetro --z3950 (ver mais abaixo).

    • O predefinido é 60 dias se não for especificado nenhum número.

  • --jobs-days

    • Seguido de um número de dias.

    • Para limpar todos os trabalhos de segundo plano concluídos há mais tempo do que o número de dias especificado.

    • O predefinido é 1 dia se não for especificado nenhum número.

  • --jobs-type

    • Seguido de um tipo de trabalho.

    • Para especificar que tipo(s) de tarefa(s) de fundo será(ão) removida(s) de acordo com --jobs-days.

    • A utilização de --jobs-type all removerá todos os tipos.

    • Este parâmetro é repetível.

    • Assume o tipo update_elastic_index por omissão, se for omitido.

  • --labels

    • Seguido de um número de dias.

    • Para remover da tabela creator_batches quaisquer lotes de etiquetas de artigos adicionados antes do número de dias especificado.

  • --list-invites

    • Seguido de um número de dias.

    • Para remover convites de partilha de lista (não aceites) da tabela virtualshelfshares que sejam mais antigos do que o número de dias especificado.

    • O predefinido é 14 dias se não for especificado nenhum número.

  • --logs

    • Seguido de um número de dias.

    • Para remover da tabela action_logs as entradas mais antigas do que o número de dias especificado.

    • O predefinido é 180 dias se não for especificado nenhum número.

  • --log-module

    • Para especificar quais os módulos do action_log que devem ser eliminados.

    • Esta opção pode ser repetida.

    • Consulte módulos e ações dos registsos para obter os nomes dos módulos.

  • --log-action

    • Para especificar quais as ações que devem ser removidas dos registos.

    • Esta opção pode ser repetida.

    • Consulte módulos e ações dos registsos para obter os nomes das ações.

    • Este parâmetro pode ser utilizado em conjunto com --log-module. Por exemplo, --logs 30 --log-module=MEMBERS --log-action=CREATE irá remover da tabela action_logs as entradas da ação CREATE relativas ao módulo MEMBERS que tenham mais de 30 dias.

  • --preserve-log

    • Para especificar quais os módulos do action_log a eliminar.

    • Esta opção pode ser repetida.

    • Consulte módulos e ações dos registsos para obter os nomes dos módulos.

  • -m ou --mail

    • Seguido de um número de dias.

    • Para remover da tabela message_queue as entradas mais antigas do que o número de dias especificado.

    • O predefinido é 30 dias se não for especificado nenhum número.

  • --merged

    • Para remover os registos concluídos da tabela need_merge_authorities.

  • --messages

    • Seguido de um número de dias.

    • Para remover da tabela de mensagens quaisquer registos mais antigos do que o número de dias especificado.

    • O predefinido é 365 dias se não for especificado nenhum número.

  • --oauth-tokens

    • Para eliminar tokens OAuth2 expirados.

  • --old-issues

    • Seguido de um número de dias.

    • Para remover da tabela old_issues quaisquer registos de empréstimo de exemplares devolvidos antes do número de dias especificado.

  • --old-reserves

    • Seguido de um número de dias.

    • Para remover da tabela old_reserves quaisquer reservas retidas há mais tempo do que o número de dias especificado.

  • --pseudo-transactions

    • Para remover registos das tabelas pseudonymized_transactions e pseudonymized_borrower_attributes.

    • Este parâmetro pode ser utilizado de várias formas:

      • com um número de dias. Por exemplo, a utilização de --pseudo-transactions 750 removerá as entradas com mais de 750 dias.

      • com o --pseudo-transactions-from e/ou o --pseudo-transactions-to

        seguido de uma data no formato AAAA-MM-DD. Por exemplo, a utilização de --pseudo-transactions-from 2023-01-01 --pseudo-transactions-to 2023-12-31 removerá os registos datados de 1 de janeiro de 2023 a 31 de dezembro de 2023.

  • --reports

    • Seguido de um número de dias.

    • Para remover da tabela saved_reports quaisquer dados guardados antes do número de dias especificado. Refere-se aos dados criados pela execução do runreport.pl com a opção --store-results.

  • --restrictions

    • Seguido de um número de dias.

    • Para remover da tabela borrower_debarments quaisquer restrições de leitores expiradas há mais tempo do que o número de dias especificado.

    • O predefinido é 30 dias se não for especificado nenhum número de dias.

  • --all-restrictions

    • Para remover todas as restrições expiradas dos utilizadores da tabela borrower_debarments.

  • --return-claims

  • --searchhistory

    • Seguido de um número de dias.

    • Para remover da tabela search_history as entradas mais antigas do que o número de dias especificado.

    • O predefinido é 30 dias se não for especificado nenhum número.

  • --sessions

    • Para limpar a tabela de sessões.

    • Se utilizar isto enquanto os utilizadores estiverem autenticados no Koha, terão de efetuar a autenticação novamente.

  • --sessdays

    • Seguido de um número de dias.

    • Para remover apenas as sessões mais antigas do que o número de dias especificado.

  • --statistics

    • Seguido de um número de dias.

    • Para remover das tabelas de estatísticas as entradas mais antigas do que o número de dias especificado.

    Nota

    A tabela de estatísticas é frequentemente utilizada em relatórios. Certifique-se de que está ciente das consequências antes de utilizar este parâmetro.

  • --statistics-type

    • Para especificar que tipos de estatísticas devem ser removidos, por exemplo: utilização local, empréstimo, devolução, renovação, baixa e pagamento. Isto corresponde aos valores armazenados na coluna statistics.type da base de dados do Koha <https://schema.koha-community.org/>.

    • Esta opção pode ser repetida.

    • Este parâmetro deve ser utilizado em conjunto com --statistics. Por exemplo, --statistics 365 --statistics-type writeoff --statistics-type payment removerá da tabela de estatísticas quaisquer registos do tipo writeoff ou payment com mais de um ano.

    • Se --statistics for utilizado sem --statistics-type, todos os tipos de estatísticas serão removidos.

    Versão

    O parâmetro --statistics-type foi introduzido pela primeira vez na versão 25.05 do Koha.

  • --statistics-type-pseudo

    • Remover da tabela de estatísticas todas as entradas com tipos de estatísticas que estão a ser armazenadas como transações pseudonimizadas.

    • Quando a pseudonimização está em utilização, as transações são armazenadas tanto na tabela statistics como na tabela pseudonymized_transactions. Este parâmetro permite remover da tabela statistics as entradas que podem ser consultadas, em vez disso, através da tabela pseudonymized_transactions.

    • Este parâmetro deve ser utilizado em conjunto com --statistics. Por exemplo, --statistics 365 --statistics-type-pseudo removerá das tabelas de estatísticas quaisquer registos com mais de um ano cujo tipo esteja a ser armazenado em pseudonymized_transactions.

    • Este parâmetro pode ser utilizado em conjunto com --statistics-type. Por exemplo, --statistics 365 --statistics-type-pseudo --statistics-type payment removerá das tabelas de estatísticas quaisquer registos com mais de um ano que tenham um tipo armazenado em pseudonymized_transactions ou o tipo payment.

    • Consulte também o parâmetro --pseudo-transactions.

    Versão

    O parâmetro --statistics-type-pseudo foi introduzido pela primeira vez na versão 25.05 do Koha.

    Neste momento, a tabela pseudonymized_transactions apenas armazena estatísticas dos tipos issue, localuse, return e renew; assim, apenas esses registos seriam removidos da tabela de estatísticas.

  • --temp-uploads

    • Para eliminar os carregamentos temporários da tabela uploaded_files que sejam mais antigos do que o número de dias especificado na preferência de sistema UploadPurgeTemporaryFilesDays.

  • --temp-uploads-days

  • --transfers

    • Seguido de um número de dias.

    • Para remover da tabela branchtransfers quaisquer transferências concluídas antes do número de dias especificado.

  • --unique-holidays

    • Seguido de um número de dias.

    • Para excluir da tabela special_holidays quaisquer feriados exclusivos anteriores ao número de dias especificado.

  • --uploads-missing

    • Seguido de uma condição.

    • Para eliminar registos de carregamento de ficheiros em falta quando a condição especificada for verdadeira; e contá-los, caso contrário.

  • --zebraqueue

    • Seguido de um número de dias.

    • Para remover entradas concluídas da tabela zebraqueue mais antigas do que o número de dias especificado.

    • O predefinido é 30 dias se não for especificado nenhum número.

  • --z3950

    • Para remover registos das tabelas de importação que sejam o resultado de pesquisas Z39.50.

    • Se pretender eliminar todas as outras informações de importação, consulte o parâmetro --import acima.

EXEMPLO DE UTILIZAÇÃO

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 --confirm

Este script irá:

  • eliminar sessões OPAC de utilizadores que acederam ao site pela última vez há mais de 7 dias;

  • manter o registo das reindexações do Zebra durante 30 dias;

  • invalidar os convites para visualizar uma lista partilhada há mais de 14 dias;

  • limpar os uploads temporários de acordo com a preferência do sistema UploadPurgeTemporaryFilesDays;

  • remover o registo dos avisos enviados aos utilizadores quando esses avisos tiverem sido enviados há mais de 375 dias;

  • eliminar os ficheiros carregados para importação em lote após 375 dias (embora os registos bibliográficos e de artigos importados como parte do processo sejam mantidos);

  • limpar os registos de quaisquer ações realizadas há mais de 200 dias;

  • remover o histórico de pesquisa de utilizadores e funcionários anterior a 60 dias;

  • apagar os pedidos de auto-registo dos leitores de acordo com a preferência do sistema PatronSelfRegistrationExpireTemporaryAccountsDelay.

  • eliminar as transações armazenadas na tabela de estatísticas quando tiverem mais de 731 dias;

  • remover os dados de transações pseudonimizados com mais de 5 anos;

  • eliminar completamente os leitores no dia seguinte à sua eliminação manual na interface administrativa do Koha;

  • remover do registo dos leitores as restrições expiradas quando a restrição tiver sido levantada há mais de 90 dias;

  • remover do calendário os dias de fecho com mais de 180 dias.

Partilhar as estatísticas de uso

Caminho do script: misc/cronjobs/share_usage_with_koha_community.pl

Executa: envia as suas informações para o site da comunidade Koha caso esteja a partilhar dados através da funcionalidade UsageStats

Frequência: mensal

Pesquisar inconsistências de dados

Caminho do script: misc/maintenance/search_for_data_inconsistencies.pl

Executa: revela problemas nos dados, como

  • exemplares sem biblioteca de origem ou de empréstimo

  • exemplares sem tipo de documento ou com um tipo de documento inválido

  • registos bibliográficos sem tipo de documento ou com tipo de documento inválido

  • registos bibliográficos com MARCXML inválido

  • registos bibliográficos sem biblionumber ou biblioitemnumber em MARCXML

  • registos bibliográficos sem título

  • valores inválidos em campos em que o modelo limita a uma categoria de valores autorizados

  • registos de autoridade sem tipo de autoridade ou com tipo de autoridade inválido

  • leitores que são demasiado velhos ou demasiado novos para a sua categoria

  • ciclos nas relações de fiador/afiançado (por exemplo, o leitor A é fiador do leitor B, que é fiador do leitor A)

    Versão

    Esta verificação foi adicionada ao Koha na versão 24.05.

  • campos de data (tipos timestamp, datetime e date) que contêm o valor ‘0000-00-00’

    Nota

    O script misc/maintenance/fix_invalid_dates.pl pode ser utilizado para alterar estas datas inválidas para ‘NULL’.

    Versão

    Esta verificação foi adicionada ao Koha na versão 24.11.

Algumas destas questões podem causar problemas na circulação ou na pesquisa no catálogo; por isso, é importante que sejam corrigidas.

Não existe uma frequência sugerida. Esta é uma ferramenta para ser utilizada quando necessário.

Corrigir datas inválidas

Versão

Este script foi adicionado na versão 24.11 do Koha.

Caminho do script: misc/maintenance/fix_invalid_dates.pl

Executa: altera datas ‘0000-00-00’ para ‘NULL’

Podem surgir problemas quando os campos de data contêm ‘0000-00-00’. Este script pode ser utilizado para alterar estas datas para ‘NULL’.

Nota

Pode utilizar o script search_for_data_inconsistencies.pl para encontrar as datas problemáticas.

PARÂMETROS

  • -v | --verbose

    • Imprime as colunas que contêm datas inválidas

  • -c | --confirm

    • Este parâmetro é necessário para que o script altere algo

EXEMPLOS DE UTILIZAÇÃO

./misc/maintenance/fix_invalid_dates.pl --verbose

Isto mostrará quais as colunas que contêm datas inválidas e o número de ocorrências.

Avisará também que a flag --confirm é necessária para executar qualquer ação.

./misc/maintenance/fix_invalid_dates.pl --confirm

Isto irá substituir as datas ‘0000-00-00’ por ‘NULL’ e dizer-lhe quantas ocorrências foram corrigidas em cada coluna.

Aquisições

Limpar sugestões antigas

Caminho do script: misc/cronjobs/purge_suggestions.pl

Executa: remove as sugestões antigas da área de gestão de sugestões.

PARÂMETROS

  • help|?

    Exibir mensagem de ajuda

  • days

    Defina a idade das sugestões a eliminar, com base na data de ‘gestão’ (managed on)

    Nota

    A preferência de sistema PurgeSuggestionsOlderThan pode também ser utilizada para definir o número de dias utilizado no script. Se utilizar a preferência do sistema, não utilize o parâmetro ‘days’.

    Nota

    O número de dias baseia-se na data de ‘gestão’ da sugestão.

  • confirm

    Este parâmetro é obrigatório para a execução do script.

Email com sugestões a processar

Caminho do script: misc/cronjobs/notice_unprocessed_suggestions.pl

Executa: gera um aviso ao proprietário do fundo a informar que existem sugestões que necessitam de ser processadas

Processamento de mensagens EDI

Caminho do script: misc/cronjobs/edi_cron.pl

Executa: envia e recebe mensagens EDI

Frequência: A cada 15 minutos

Remover ficheiros EDI temporários

Caminho do script: misc/cronjobs/remove_temporary_edifiles.pl

Executa: remove ficheiros EDI temporários com mais de 5 dias

Gestão de recursos eletrónicos (ERM)

Tarefa agendada de recolha

Caminho do script: /misc/cronjobs/erm_run_harvester.pl

Executa: este script realizará a recolha via SUSHI para quaisquer fornecedores de dados de utilização ativos configurados no módulo de gestão de recursos eletrónicos.

Frequência: recomenda-se a sua configuração para ser executada em intervalos regulares (por exemplo, mensalmente, dado que os prestadores geram geralmente dados estatísticos a cada mês).

PARÂMETROS

  • --help or -h

    • Apresenta uma mensagem de ajuda

  • --begin-date

    • Define a data de início da colheita no formato aaaa-mm-dd (por exemplo: ‘2023-08-21’)

  • --end-date

    • Define a data de fim da colheita no formato aaaa-mm-dd (por exemplo: ‘2023-08-21’)

  • --dry-run

    • Gera um relatório de execução, sem realizar qualquer ação permanente

  • --debug

    • Apresenta informações adicionais de depuração durante a execução

EXEMPLO DE UTILIZAÇÃO

erm_run_harvester.pl --begin-date 2023-06-21 --debug

Executará a recolha via SUSHI para os fornecedores de dados de utilização ativa, abrangendo o período de 21 de junho de 2023 até à data atual (ou até à data para a qual existam dados disponíveis). Serão apresentadas informações adicionais de depuração sobre a execução da recolha.

Relatórios

Executar o relatório

Caminho do script: misc/cronjobs/runreport.pl

Executa: reports guardados preexistentes e, opcionalmente, envia os resultados por email.

PARÂMETROS

  • -h | --help

    • Apresenta a mensagem de ajuda

  • -m | --man

    • Exibe a documentação completa

    • O mesmo que --help --verbose

  • -v | --verbose

    • Modo detalhado

    • Sem este parâmetro, apenas são reportados erros fatais

  • --format=s

    • Seleciona o formato de saída

    • Valores possíveis:

      • text

      • html

      • csv

      • tsv

    • Neste momento, tanto o ‘text’ como o ‘tsv’ produzem uma saída separada por tabulações

    • Omissão para ‘text’

  • -e | --email

    • Enviar a saída por email (implícito em --to ou --from)

  • --send_empty

    • Enviar o email mesmo que o relatório não devolva resultados

  • -a | --attachment

    • Anexar o relatório como um ficheiro

    • Não pode ser utilizado com o formato html

  • --username

    • Nome de utilizador a enviar ao servidor SMTP para autenticação

  • --password

    • Palavra-passe a fornecer ao servidor SMTP para autenticação

  • --method

    • O tipo de autenticação, ou seja, LOGIN, DIGEST-MD5, etc.

  • --to=s

    • Endereço de email para o qual enviar os resultados do relatório

    • Se for especificado --email, mas --to não, será utilizado o endereço em KohaAdminEmailAddress

  • --from=s

    • Endereço de email a partir do qual o relatório será enviado

    • Se for especificado --email, mas --from não, será utilizado o endereço em KohaAdminEmailAddress

  • --subject=s

    • Assunto do email

  • --param=s

    • Passe o valor para o parâmetro de execução

    • Repetível

    • Forneça um parâmetro --param para cada parâmetro de execução solicitado para o relatório. Os parâmetros do relatório não são combinados como acontece na interface da equipa, pelo que pode ser necessário repetir parâmetros.

  • --separator=s

    • Caractere separador

    • Apenas para o formato csv

    • O padrão é a vírgula

  • --quote=s

    • Caractere de referência

    • Apenas para o formato csv

    • O padrão é aspas duplas

    • String vazia é permitida

  • --store-results

  • --csv-header

    • Adicionar os nomes das colunas como primeira linha do ficheiro csv

ARGUMENTOS

  • reportID

    • Identificador do relatório proveniente de saved_sql.id

    • Podem ser especificados múltiplos identificadores

    • Obrigatório

EXEMPLOS DE UTILIZAÇÃO

runreport.pl 1

Irá apresentar os resultados do relatório 1 no terminal (STDOUT).

runreport.pl 1 5

Irá apresentar os resultados dos relatórios 1 e 5 no terminal (STDOUT).

runreport.pl --format html --to admin@myDNSname.org 1

Irá enviar os resultados do relatório 1 para admin@myDNSname.org em formato HTML.

runreport.pl --format html --to admin@myDNSname.org --param CPL --param FICTION 1

Irá enviar ps resultados do relatório 1 para admin@myDNSname.org em formato HTML. O ‘CPL’ será passado como o primeiro parâmetro de tempo de execução, e o ‘FICTION’ será passado como o segundo parâmetro de tempo de execução.

runreport.pl --store-results 1

Irá guardar os resultados do relatório na tabela da base de dados saved_reports e ficarão disponíveis na interface dos técnicos em Relatórios > Relatórios guiados > Relatório guardado.

Dados sociais

Obter relatório de dados sociais

Caminho do script: misc/cronjobs/social_data/get_report_social_data.pl

Executa: descarrega os dados do Babelthèque para os adicionar aos registos do OPAC

Sugestão de frequência: todas as noites

Atualizar dados sociais

Caminho do script: misc/cronjobs/social_data/update_social_data.pl

Executa: atualiza os registos do OPAC com os dados sociais da Babelthèque

Daemons

Os daemons são tarefas em execução contínua que auxiliam o funcionamento do Koha. A sua base de dados e o servidor web são executados como daemons.

Daemons iniciados automaticamente

As versões mais recentes do Koha iniciam dois daemons diferentes para a maioria das instâncias do Koha:

  • zebra - este é o servidor de pesquisa

  • koha-indexer - este daemon atualiza o servidor de pesquisa com dados novos e modificados (registos bibliográficos e de autoridade)

Estes daemons são iniciados pelo script /etc/init.d/koha-common.

Daemon de indexação Zebra

Caminho do script: /usr/sbin/koha-indexer (invocado a partir de /etc/init.d/koha-common)

O script koha-indexer invoca o rebuild_zebra.pl em modo daemon. Neste modo, o script é executado continuamente e verifica a base de dados em busca de dados novos ou modificados a cada 30 segundos. Os registos novos ou modificados são então enviados para o Zebra para indexação, processo que demora apenas cerca de um segundo. A vantagem desta abordagem é um sistema de pesquisa muito mais responsivo a alterações, em comparação com a abordagem de tarefa cron.

Outros daemons

Não são iniciados automaticamente pelo Koha. Pode executá-los manualmente ou criar a sua própria unidade systemd para os manter em execução.

Daemon de importação do OCLC Connexion

Caminho do script: misc/bin/connexion_import_daemon.pl

Executa: Aguarda pedidos de clientes do OCLC Connexion e está em conformidade com a especificação do OCLC Gateway.

Consulte a seção Configurar o daemon OCLC Connexion para mais detalhes.

Scripts obsoletos

Estes não devem ser executados sem modificação:

Caminho do script: misc/cronjobs/update_items.pl

Caminho do script: misc/cronjobs/smsoverdues.pl

Caminho do script: misc/cronjobs/notifyMailsOp.pl

Caminho do script: misc/cronjobs/reservefix.pl

Caminho do script: misc/cronjobs/zebraqueue_start.pl