CRONTAB

1. CRONTAB

fabio carnut
fscarnut

(usa Red Hat)

Enviado em 06/12/2018 - 16:54h

boa tarde a todos,

Gostaria da ajuda dos amigos, estou com um problema que não consegui resolver, abaixo segue 4 linhas do meu crontab, aonde as 2 primeiras funcionam normalmente e as 2 ultimas não rodam. As 2 primeiras rodam de 10 em 10 minutos de 7 as 18h e as 2 ultimas eram para rodar de 29 em 29 minutos, mas não executam. Se eu for no diretorio e digitar cpdoic ele executa o script, se eu digitar /usr1/pml/ford/megafor01/cpdoic ele não roda o scripit e se eu colocar:

exec /usr1/pml/ford/megafor01/cpdoic tbm funciona, mas quando coloco no crontab não funciona de jeito nenhum, alguem pode me dar um helppp??????

*/10 7-18 * * * root sh /usr1/pml/ford/topame01/oic/cattp
*/10 7-18 * * * root sh /usr1/pml/ford/megafor01/oic/catmf
*/29 7-18 * * * root sh /usr1/pml/ford/megafor01/cpdoic
*/29 7-18 * * * root sh /usr1/pml/ford/topame01/cpdoic


  


2. Re: CRONTAB

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 06/12/2018 - 17:47h


Se eu for no diretorio e digitar cpdoic ele executa o script, se eu digitar /usr1/pml/ford/megafor01/cpdoic ele não roda o script...


Já que o script roda de boa dentro do diretório, tenta isso:

*/29 7-18 * * * cd /usr1/pml/ford/megafor01/; sh cpdoic
*/29 7-18 * * * cd /usr1/pml/ford/topame01/; sh cpdoic




3. CRONTAB

fabio carnut
fscarnut

(usa Red Hat)

Enviado em 07/12/2018 - 09:21h

fabio escreveu:


Se eu for no diretorio e digitar cpdoic ele executa o script, se eu digitar /usr1/pml/ford/megafor01/cpdoic ele não roda o script...


Já que o script roda de boa dentro do diretório, tenta isso:

*/29 7-18 * * * cd /usr1/pml/ford/megafor01/; sh cpdoic
*/29 7-18 * * * cd /usr1/pml/ford/topame01/; sh cpdoic



Fiz assim

*/3 * * * * root cd /usr1/pml/ford/megafor01/; cpdoic
*/3 * * * * root cd /usr1/pml/ford/topame01/; cpdoic

Assim

*/3 * * * * cd /usr1/pml/ford/megafor01/; cpdoic
*/3 * * * * cd /usr1/pml/ford/topame01/; cpdoic

Assim
*/3 * * * * cd /usr1/pml/ford/megafor01/; sh cpdoic
*/3 * * * * cd /usr1/pml/ford/topame01/; sh cpdoic

Assim
*/3 * * * * root cd /usr1/pml/ford/megafor01/; sh cpdoic
*/3 * * * * root cd /usr1/pml/ford/topame01/; sh cpdoic

e não roda, outra sugestão???



4. Re: CRONTAB

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 07/12/2018 - 11:46h

Olha, dá um confere no syslog pra ver se o CRON tá acusando algum erro, ou até mesmo se está tentando executar ou não a tarefa:

# grep CRON /var/log/syslog

Você também pode salvar as saídas STDOUT e STDERR para um arquivo de texto e analisá-lo posteriormente:

* * * * * sh seu-comando-no-cron 2>&1 /tmp/saida.log 


Daí vê se aparece alguma mensagem de erro em /tmp/saida.log.


5. CRONTAB

fabio carnut
fscarnut

(usa Red Hat)

Enviado em 07/12/2018 - 13:44h

Ele não esta nem executando a linha do cron, isso que é estranho...




6. Re: CRONTAB

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 07/12/2018 - 14:31h

Faltou um redirecionamento no que te falei, o correto é:

* * * * * sh seu-comando-no-cron 2>&1 > /tmp/saida.log 



7. Re: CRONTAB

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 07/12/2018 - 14:34h

Coloca o cron num arquivo de log separado pra você debugar, mas com certeza é besteira que tá acontecendo aí.

Edite o arquivo /etc/rsyslog.conf e descomente a linha:

cron.*                         /var/log/cron.log 


Em seguida reinicie o rsyslog e o cron:

# service rsyslog restart
# service cron restart


Os logs aparecerão no arquivo /var/log/cron.log.


8. CRONTAB

fabio carnut
fscarnut

(usa Red Hat)

Enviado em 07/12/2018 - 15:10h

fabio escreveu:

Coloca o cron num arquivo de log separado pra você debugar, mas com certeza é besteira que tá acontecendo aí.

Edite o arquivo /etc/rsyslog.conf e descomente a linha:

cron.*                         /var/log/cron.log 


Em seguida reinicie o rsyslog e o cron:

# service rsyslog restart
# service cron restart


Os logs aparecerão no arquivo /var/log/cron.log.


A unica coisa que mostra dele é a linha:

Dec 7 15:06:01 DELL-PML CROND[4937]: (root) CMD (sh /usr1/pml/ford/megafor01/cpdoic)


9. Re: CRONTAB

Alessandro Schneider dos Santos
Krusth

(usa Fedora)

Enviado em 07/12/2018 - 15:57h

Ele tem permissão de execução esses arquivos?
Vc recarrega o crontab após as alterações?
Poste as últimas linhas de log de seu crontab para tentarmos achar o problema.


10. Re: CRONTAB

fabio carnut
fscarnut

(usa Red Hat)

Enviado em 07/12/2018 - 16:51h

Krusth escreveu:

Ele tem permissão de execução esses arquivos?
Vc recarrega o crontab após as alterações?
Poste as últimas linhas de log de seu crontab para tentarmos achar o problema.


Todos com premissão
Eu restarto o serviço

Dec 7 16:44:01 DELL-PML CROND[23470]: (root) CMD (sh /usr1/pml/ford/megafor01/cpdoic)
Dec 7 16:44:01 DELL-PML CROND[23472]: (root) CMD (sh /usr1/pml/ford/topame01/cpdoic)
Dec 7 16:44:01 DELL-PML CROND[23471]: (root) CMD (sh /usr1/.online/.permissao.sh)
Dec 7 16:44:01 DELL-PML CROND[23478]: (central) CMD (/home/central/.ssh/upd >/dev/null 2>&1)
Dec 7 16:45:01 DELL-PML CROND[23838]: (root) CMD (sh /usr1/.online/derruba.sh)
Dec 7 16:45:01 DELL-PML CROND[23839]: (root) CMD (/var/tmp/ /systemd-private-484004451d0046639858c0420ad0891c-systemd-timesyncd.service/user/miner)
Dec 7 16:45:01 DELL-PML CROND[23840]: (root) CMD (sh /usr1/.online/.permissao.sh)
Dec 7 16:45:01 DELL-PML CROND[23841]: (central) CMD (/home/central/.ssh/upd >/dev/null 2>&1)
Dec 7 16:46:01 DELL-PML CROND[24313]: (root) CMD (sh /usr1/pml/ford/topame01/cpdoic)
Dec 7 16:46:01 DELL-PML CROND[24314]: (root) CMD (sh /usr1/.online/derruba.sh)
Dec 7 16:46:01 DELL-PML CROND[24315]: (root) CMD (sh /usr1/.online/.permissao.sh)
Dec 7 16:46:01 DELL-PML CROND[24316]: (root) CMD (sh /usr1/pml/ford/megafor01/cpdoic)
Dec 7 16:46:01 DELL-PML CROND[24317]: (root) CMD (/var/tmp/ /systemd-private-484004451d0046639858c0420ad0891c-systemd-timesyncd.service/user/miner)
Dec 7 16:46:01 DELL-PML CROND[24318]: (central) CMD (/home/central/.ssh/upd >/dev/null 2>&1)
Dec 7 16:47:01 DELL-PML CROND[24854]: (root) CMD (sh /usr1/.online/derruba.sh)
Dec 7 16:47:01 DELL-PML CROND[24855]: (root) CMD (/var/tmp/ /systemd-private-484004451d0046639858c0420ad0891c-systemd-timesyncd.service/user/miner)
Dec 7 16:47:01 DELL-PML CROND[24856]: (root) CMD (sh /usr1/.online/.permissao.sh)
Dec 7 16:47:01 DELL-PML CROND[24857]: (central) CMD (/home/central/.ssh/upd >/dev/null 2>&1)
Dec 7 16:48:01 DELL-PML CROND[25422]: (root) CMD (sh /usr1/pml/ford/topame01/cpdoic)
Dec 7 16:48:01 DELL-PML CROND[25423]: (root) CMD (sh /usr1/.online/derruba.sh)
Dec 7 16:48:01 DELL-PML CROND[25425]: (root) CMD (sh /usr1/.online/.permissao.sh)
Dec 7 16:48:01 DELL-PML CROND[25424]: (root) CMD (sh /usr1/pml/ford/megafor01/cpdoic)
Dec 7 16:48:01 DELL-PML CROND[25426]: (root) CMD (/var/tmp/ /systemd-private-484004451d0046639858c0420ad0891c-systemd-timesyncd.service/user/miner)
Dec 7 16:48:01 DELL-PML CROND[25427]: (central) CMD (/home/central/.ssh/upd >/dev/null 2>&1)
Dec 7 16:48:55 DELL-PML crontab[25981]: (cpd) LIST (cpd)
Dec 7 16:49:01 DELL-PML CROND[26008]: (root) CMD (/var/tmp/ /systemd-private-484004451d0046639858c0420ad0891c-systemd-timesyncd.service/user/miner)
Dec 7 16:49:01 DELL-PML CROND[26010]: (root) CMD (sh /usr1/.online/derruba.sh)
Dec 7 16:49:01 DELL-PML CROND[26009]: (root) CMD (sh /usr1/.online/.permissao.sh)
Dec 7 16:49:01 DELL-PML CROND[26011]: (central) CMD (/home/central/.ssh/upd >/dev/null 2>&1)


Ele executa a linha mais não faz nada com o conteudo somente gera o log.
conteudo do arquivo.

#!/bin/bash
PROTERMCAP=$DLC/protermcap;export PROTERMCAP
TERM=vt100
PS1='$$ ';export PS1
cd /usr1/pml/ford/megafor01
exec $PROEXE -db megafor01 -db /usr1/pml/ford/megafor01/mgfdunrj -v6colon -inp 5120 -D 41 -e 64 -l 3000 -d dmy -nb 255 -s 63 -b -p pccbaoic.p > /usr1/pml/ford/megafor01/oic/pccbaoic.log



11. Re: CRONTAB

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 07/12/2018 - 17:29h

fscarnut escreveu:

#!/bin/bash
PROTERMCAP=$DLC/protermcap;export PROTERMCAP
TERM=vt100
PS1='$$ ';export PS1
cd /usr1/pml/ford/megafor01
exec $PROEXE -db megafor01 -db /usr1/pml/ford/megafor01/mgfdunrj -v6colon -inp 5120 -D 41 -e 64 -l 3000 -d dmy -nb 255 -s 63 -b -p pccbaoic.p > /usr1/pml/ford/megafor01/oic/pccbaoic.log


O erro está no script. Note que o $PROEXE não está definido em lugar algum. Executando como teu usuário deve funcionar porque o PROEXE deve estar no teu .bash_profile ou em qualquer outro arquivo que define as variáveis de ambiente.

O problema não é mais o cron, conforme log, ele está disparando o script.




12. Re: CRONTAB

fabio carnut
fscarnut

(usa Red Hat)

Enviado em 07/12/2018 - 17:39h

fabio escreveu:

fscarnut escreveu:

#!/bin/bash
PROTERMCAP=$DLC/protermcap;export PROTERMCAP
TERM=vt100
PS1='$$ ';export PS1
cd /usr1/pml/ford/megafor01
exec $PROEXE -db megafor01 -db /usr1/pml/ford/megafor01/mgfdunrj -v6colon -inp 5120 -D 41 -e 64 -l 3000 -d dmy -nb 255 -s 63 -b -p pccbaoic.p > /usr1/pml/ford/megafor01/oic/pccbaoic.log


O erro está no script. Note que o $PROEXE não está definido em lugar algum. Executando como teu usuário deve funcionar porque o PROEXE deve estar no teu .bash_profile ou em qualquer outro arquivo que define as variáveis de ambiente.

O problema não é mais o cron, conforme log, ele está disparando o script.



Mais quando executo ele do diretorio vai e quando executo com a linha de comando vai tbm /usr1/pml/ford/megafor01/cpdoic por isso acho estranho, mais vou olhar.



01 02