cron retornando erro json.pm Cent OS 7

cron retornando erro json.pm Cent OS 7

Estou executando o Cent OS 7 e tentando invocar um script perl para atualizar os dados do Over the Air TV Guide para XML para meu servidor de mídia Plex.

O problema é que o Cron não executa o script.

Se eu executar o script no shell, ele funcionará bem com o comando:

/usr/bin/perl /home/Media/Misc/TVXML/hr_epg.pl > /home/Media/Misc/TVXML/test.xml

Se eu executá-lo via cron (a cada minuto apenas para testar):

* * * * * /usr/bin/perl /home/Media/Misc/TVXML/hr_epg.pl > /home/Media/Misc/TVXML/test.xml

Nada acontece.

Então, se eu executar o cron com:

* * * * * /usr/bin/perl /home/Media/Misc/TVXML/hr_epg.pl > /home/Media/Misc/TVXML/test.xml var1 var2 &>>/home/Media/Misc/TVXML/cron.log

e a exportação de cron.log:

Não é possível localizar JSON.pm em @INC (@INC contém: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/ lib64/perl5 /usr/share/perl5 .) em /home/Me$ BEGIN falhou - compilação abortada em /home/Media/Misc/TVXML/hr_epg.pl linha 4.

A linha 4 é: use JSON;

Verificação Perl:

perl -E'say $^X' /usr/bin/perl

cpan JSON:

Leitura JSON cpan '/root/.cpan/Metadata' O banco de dados foi gerado em sábado, 29 de junho de 2019 00:55:31 GMT Buscando com LWP: http://mirrors.namecheap.com/CPAN/authors/01mailrc.txt.gz Lendo '/root/.cpan/sources/authors/01mailrc.txt.gz' ................................ ........................................... CONCLUÍDO Buscando com LWP: http://mirrors.namecheap.com/CPAN/modules/02packages.details.txt.gz Lendo '/root/.cpan/sources/modules/02packages.details.txt.gz' O banco de dados foi gerado em Dom, 30 de junho de 2019 01:56:15 GMT ............. Novo CPAN Versão .pm (v2.26) disponível. [A versão em execução atualmente é v1.9800] Você pode tentar instalar o CPAN reload cpan para atualizar o CPAN.pm e executar a nova versão sem sair da sessão atual.

.................................................. .............FEITO Buscando com LWP: http://mirrors.namecheap.com/CPAN/modules/03modlist.data.gz Lendo '/root/.cpan/sources/modules/03modlist.data.gz' CONCLUÍDO A escrita /root/.cpan/Metadata JSON está atualizada (4.02).

Se alguém puder me ajudar, já que o JSON existe e esse script é executado via CLI, seria ótimo.

Obrigado

Responder1

Parece haver uma discrepância entre o @INCexecutado pelo cron e o @INCexecutado manualmente por você no terminal.

De qualquer forma, localize o diretório onde está a biblioteca:locate JSON.pm

Digamos que o diretório fosse /usr/libs, adicione esta linha no topo do seu script:

use lib '/usr/libs";

informação relacionada