O cron do Ubuntu é dor de cabeça

1. O cron do Ubuntu é dor de cabeça

Rodrigo Evaldo
rodrigoevaldo

(usa Ubuntu)

Enviado em 03/08/2010 - 17:42h

Quais são os macetes para o cron do Ubuntu rodar as chamadas normalmente?
Já fiz de tudo, no crontab -e do usuário root, adicionei a seguinte chamada para testar:


SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/
*/1 * * * * root ./root/copia.sh
*/1 * * * * root /root/sincroniza.sh
#

o objetivo é apenas copiar os dados de um HD e passar para o outro. E uma vez ao vez realiza o sincronismo com o rsync.

Verifico no log do Ubuntu:
grep CRON /var/log/syslog

Aug 1 09:08:23 view-server-ba cron[6608]: (CRON) INFO (pidfile fd = 3)
Aug 1 09:08:23 view-server-ba cron[6609]: (CRON) STARTUP (fork ok)
Aug 1 09:08:23 view-server-ba cron[6609]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Aug 1 09:08:23 view-server-ba cron[6608]: (CRON) INFO (pidfile fd = 3)
Aug 1 09:08:23 view-server-ba cron[6609]: (CRON) STARTUP (fork ok)
Aug 1 09:08:23 view-server-ba cron[6609]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

Mais uma observação, os arquivos .sh recebeu o chmod 777

Também coloquei os comandos diretos no Cron como por exemplo

*/1 * * * * root cp /media/hd1 /media/hd2

Também tentei este procedimento
*/1 * * * * cp /media/hd1 /media/hd2

E outra tentativa também
* * * * * cp /media/hd1 /media/hd2

Reiniciei o serviço cron:
service cron restart

Poxa, já estou quase xingando o pai do Ubuntu... Estre cron não funciona...
Apenas uma única vez que funcionou utilizando a chamada para o /root/copia.sh

No Shell normal todos os comandos funciona normalmente.




  


2. Re: O cron do Ubuntu é dor de cabeça

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 04/08/2010 - 08:49h

O problema é que muitos usuários por alguma razão (provavelmente preguiça!) não procuram pesquisar, se informar antes de testar alguma coisa e acaba dando nisso... A questão é que scripts agendados no cron não podem enviar em hipótese alguma mensagens para stdout/stderr (ou se preferir a tela do monitor). Além do mais, sempre defina a variável PATH nos scripts que serão agendados.

Mais detalhes:

www.google.com/linux
man 5 crontab


3. Re: O cron do Ubuntu é dor de cabeça

Rodrigo Evaldo
rodrigoevaldo

(usa Ubuntu)

Enviado em 04/08/2010 - 08:53h

Cara, vc somente me enrolou....
Primeiro, pesquiso muito mais do que perguntar.
Sei muito bem que o Cron não emite mensagem para os terminais, por isso efetuei o script de copia.sh para verificar se no destino recebe o arquivo a ser copiado...
Bom, se não sabe responder, não perca tempo.

Voltando, alguém com experiência com o CRON do Ubuntu, sabe dar uma dica de como posso diagnosticar?


4. Pesquisa mesmo??

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 04/08/2010 - 08:59h

"Sei muito bem que o Cron não emite mensagem para os terminais"

... presta atenção, não é cron que emite mensagens e sim os scripts agendados nele. Logo ESTES SCRIPTS não devem mandar qualquer tipo de mensagem para a tela, caso contrário os agendamentos não serão executados.

...


5. rodrigoevaldo

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 04/08/2010 - 09:05h

vc não tem um pingo de educação e humildade suficiente para admitir: errou, errou e vai continuar errando. Preste atenção:

a) não existe isso de "cron para Ubuntu" ou para a casa da mãe joana. Existe apenas cron para Linux, sempre igual, sempre o mesmo para qualquer distribuição.

b) se tivesse MESMO pesquisado, ao invés de ficar tentando gracinhas, faria assim:
$ man crontab

então, lendo o man compararia com a sua linha de comando. Em alguma das VÁRIAS linhas de exemplo que estão ali, vc consegue enxergar uma linha semelhante à sua?

"*/1 * * * * root ./root/copia.sh"

olhe direito. Em QUAL das linhas do man vc consegue enxergar 'root' ?

essa aqui eu vou dar de mão beijada porque sei que é mais difícil de achar:

"./root" --> o crontab DESCONHECE isso porque (no bash) significa "aqui onde estou" e o crontab NÃO SABE onde está ;)

então, faça o comando com o path completo (aliás, como o bin/laden sugeriu e vc, arrogantemente, meteu o pé na mer.. err. jaca.

*/1 * * * * /path/onde/está/a/po**a/do/script.sh

repare que o crontab requer 6 posições, sendo 5 para tempo/período e a última para comando.

* * * * * /linha/de/comando

seu script deve ter o comando bash #!/bin/bash na primeira linha e deve estar com o atributo de executável (0755).

as linhas:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/

são desnecessárias. Vc pode querer a primeira linha com:

MAILTO=""

para evitar receber zéamail a cada execução do cron.

bem, volte lá e revise as coisas. Se ainda não acertar, volte aqui.


6. Re: O cron do Ubuntu é dor de cabeça

Perfil removido
removido

(usa Nenhuma)

Enviado em 04/08/2010 - 09:35h

Calma pessoal






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts