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
Pesquisar
Sitemap
Caminho do script: misc/cronjobs/sitemap.pl
O que faz: processa todos os registos bibliográficos de uma instância do Koha e gera arquivos de mapa do site em conformidade com o protocolo descrito em https://sitemaps.org. O objetivo deste script é permitir que mecanismos de busca tenham acesso direto aos registos bibliográficos, evitando que naveguem pelo OPAC do Koha, o que geraria um tráfego elevado no site e sobrecarga no servidor.
Nota É gerado um ficheiro chamado sitemapindex.xml que contém referências a vários ficheiros de sitemap. Cada ficheiro contém, no máximo, 50.000 URLs e é nomeado como sitemapXXXX.xml.
Os ficheiros devem ser armazenados na diretoria raiz do OPAC do Koha. Na mesma diretoria, é necessário um ficheiro robots.txt com o seguinte conteúdo:
Sitemap: sitemapindex.xml User-agent: * Disallow: /cgi-bin/
Reconstruir índice
Caminho do script: misc/migration_tools/rebuild_zebra.pl
Executa: atualiza os índices Zebra com dados alterados recentemente.
Exigido por: Zebra
Sugestão de frequência: de x em x minutos (entre 5 e 15 minutos), dependendo das necessidades de desempenho
Nota Nas instalações mais recentes do Koha, esta tarefa foi substituída pelo daemon koha-indexer, que indexa os dados novos e modificados do Koha a cada 30 segundos.
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_beforecomo--typeespecifica 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
Perdoar as multas do tipo especificado.
Aceita uma lista de códigos de tipo de débito.
--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 --confirmPerdoar as multas adicionadas após 2023-06-20.
writeoff_debts.pl --added_before `date -d '-3 month' --iso-8601` --category-code K --confirmPerdoar 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 | --helpApresenta a mensagem de ajuda.
-a | --amountValor 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 | --messageMensagem a adicionar como comentário da restrição.
-f | --messagefileFicheiro que contém a mensagem a adicionar como comentário de restrição.
-e | --expirationData de expiração da restrição.
-c | --confirmUtilize este parâmetro para confirmar as alterações.
Sem este parâmetro, nenhum cliente será restringido.
-v | --verboseMostra 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 | --lostEsta 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 | --chargeIsto especifica qual o estado de perdido que faz com que o Koha cobre ao utilizador o custo de substituição do exemplar.
A preferência de sistema DefaultLongOverdueChargeValue pode ser utilizada para definir o valor a partir da interface dos técnicos, em vez de diretamente pelo cron job.
Se nem o parâmetro
--chargenem o DefaultLongOverdueChargeValue estiverem definidos, o processo de exemplares com atraso prolongado não cobrará ao leitor pelo exemplar perdido.
--confirmEste 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 | --verboseEste parâmetro imprime o número de exemplares afetados.
--quietEste parâmetro suprime a saída padrão.
--maxdaysEste 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-returnedEste 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 | --helpEste parâmetro apresenta uma breve mensagem de ajuda e termina a execução.
-man | --manualEste parâmetro apresenta a mensagem de ajuda completa e termina a execução.
--categoryEste 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-categoryEste 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-categoriesEste parâmetro lista as categorias de leitor disponíveis que podem ser utilizadas com
--categoryou--skip-categorye termina a execução.
--libraryEste 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-libraryEste 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.--itemtypeEste 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-itemtypeEste 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-itemtypesEste parâmetro lista os tipos de documento disponíveis que podem ser utilizados em
--itemtypeou--skip-itemtypee termina a execução.
--skip-lost-valueEste 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
-hou--helpExibir mensagem de ajuda.
-vou--verboseModo detalhado.
-cou--confirmAdicione 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_sinceExclua 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_beforeElimina os leitores cuja data de expiração da conta seja anterior a esta data.
--last_seenApague 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_codeApague 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
--libraryEliminar utilizadores desta biblioteca.
--without_restriction_typeVersã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
-hou--helpExibir mensagem de ajuda.
-vou--verboseModo detalhado.
-cou--confirmParâ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.
-bou--beforeEspecifique 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" --confirmCria 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
-hou--helpExibir mensagem de ajuda.
-vou--verboseModo detalhado.
-cou--confirmParâ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 Bapenas 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 --doitAtualiza 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-expiredAtualiza 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 PTAtualiza 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 CPLAtualiza os leitores cuja biblioteca de origem é a CPL.
borrowers-force-messaging-defaults.pl --doit --message-name Item_dueAtualiza 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
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 14prepara avisos de reservas pendentes há duas semanas para a biblioteca principal
holds_reminder.pl -lettercode LATE_HOLDS -library MAIN -days 14prepara avisos de reservas em espera há 2 semanas para a biblioteca principal, utilizando o modelo de aviso ‘LATE_HOLDS’
Imprimir atrasos
Caminho do script: misc/cronjobs/printoverdues.sh
Executa: gera ficheiros PDF a partir de ficheiros HTML em diretorias e imprime-os
Imprimir avisos de reserva
Caminho do script: misc/cronjobs/gather_print_notices.pl
Executa: verifica a fila de mensagens em busca de avisos de reserva que não foram enviados porque o utilizador não possuía endereço de email e gera um aviso impresso
Sugestão de frequência: todas as noites
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 100notificará 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
-inactiveabaixo; 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
-activeacima; 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 -cGerará 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 -renewRenovará 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_RENEWALRenovará 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 30Gerará 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 3Renovará 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_PATRONGerará 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
-hou--helpApresenta uma breve mensagem de ajuda.
-lou--listLista os repositórios.
-rou--repositoryIdentificador do repositório que pretende agregar. Encontrará esta informação em Administração > Repositórios OAI.
-dou-–daysNúmero de dias a considerar para a agregação. Por exemplo: agregar registosatualizados ou criados no repositório remoto nos últimos 10 dias.
-vou-–verboseModo detalhado.
-fou-–forceForç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
--whererecolhidos, 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_bibsfoi 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)" --commitIsto 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'" --commitIsto 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.
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
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
-hou--help
Apresenta uma breve mensagem de ajuda e termina a execução, ignorando todas as outras opções.
-vou--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
Para eliminar da tabela de utilizadores as contas de auto-registo expiradas (contas que não foram promovidas da categoria ‘temporária’).
O número de dias para a expiração é definido na preferência do sistema PatronSelfRegistrationExpireTemporaryAccountsDelay.
A categoria de utilizador temporário é definida na preferência de sistema PatronSelfRegistrationDefaultCategory.
--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 allremoverá 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=CREATEirá 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.
-mou
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 750removerá as entradas com mais de 750 dias.
- com o
--pseudo-transactions-frome/ou o--pseudo-transactions-toseguido 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-31removerá 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
Para limpar todas as reclamações de devolução resolvidas mais antigas do que o número de dias especificado na preferência do sistema CleanUpDatabaseReturnClaims.
--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 paymentremoverá da tabela de estatísticas quaisquer registos do tipo writeoff ou payment com mais de um ano.Se
--statisticsfor utilizado sem--statistics-type, todos os tipos de estatísticas serão removidos.Versão
O parâmetro
--statistics-typefoi 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-pseudoremoverá 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 paymentremoverá 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-pseudofoi 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
Seguido de um número de dias.
Para sobrepor o valor da preferência do sistema UploadPurgeTemporaryFilesDays.
--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
--importacima.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 --confirmEste 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.
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 | --verboseImprime as colunas que contêm datas inválidas
-c | --confirmEste 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 --debugExecutará 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
--toou--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
--tonã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
--fromnã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
--parampara 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
Guardar o resultado do relatório na tabela de base de dados saved_reports.
Para aceder aos resultados, aceda a Relatórios > Relatórios guiados > Relatório guardado.
--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 1Irá apresentar os resultados do relatório 1 no terminal (STDOUT).
runreport.pl 1 5Irá apresentar os resultados dos relatórios 1 e 5 no terminal (STDOUT).
runreport.pl --format html --to admin@myDNSname.org 1Irá 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 1Irá 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 1Irá 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.
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
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