Duvida Crontab

313 views
Skip to first unread message

Wanderton

unread,
Jun 4, 2011, 7:53:09 AM6/4/11
to xen...@googlegroups.com
Olá, estou com um problema com o agendamento de tarefas crontab, pois preciso criar uma regra para desligar o servidor em uma determinada hora, mais infelizmente o meu crontab não esta executando a mesma, segue um modelo do meus comando no citrix xenserver 5.6.0 (passo a passo)

crontab -e
i
# Programando o desligamento para todos os dias as 20:00h
00 20 * * * shutdown -h now

(ESC)
:wq

Na hora agendada nada acontece!!!

Pergunto, o que estou fazendo errado? Como soluciono esse problema? Tem uma segunda forma de agendar uma tarefa no citrix xenserver 5.6.0?

Obs. Pesquisando na net achei um comando que poderia testar o crontab, só que o mesmo também não funcionou, segue o mesmo:

37 8 * * * echo "Meu crontab rodou mesmo!"

--
Atenciosamente,

=========================
Wanderton C. Vasconcelos
WAN INFORMÁTICA
CNPJ:05.322.031/0001-82
www.wanonline.com.br
Juazeiro do Norte-CE, Brasil
(88)3512-3651 / 9965-2625
=========================

Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE!

¤»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»¤
Estamos on-line durante o horário comercial no MSN Messenger
digite o e-mail: wand...@ig.com.br para parcerias e negócios.
¤»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»¤

Wanderton

unread,
Jun 4, 2011, 7:57:25 AM6/4/11
to xen...@googlegroups.com
Segue log do crontab:

Jun  4 08:35:01 xen crond[12429]: (root) CMD (echo "Meu crontab rodou mesmo!")
Jun  4 08:35:01 xen crond[12428]: (root) MAIL (mailed 25 bytes of output but got status 0x0001 )
Jun  4 08:35:31 xen crond[12444]: (CRON) STARTUP (V5.0)
Jun  4 08:35:40 xen crontab[12452]: (root) BEGIN EDIT (root)
Jun  4 08:35:53 xen crontab[12452]: (root) REPLACE (root)
Jun  4 08:35:53 xen crontab[12452]: (root) END EDIT (root)
Jun  4 08:35:58 xen crond[12465]: (CRON) STARTUP (V5.0)
Jun  4 08:36:03 xen crontab[12473]: (root) LIST (root)
Jun  4 08:37:01 xen crond[12492]: (root) CMD (echo "Meu crontab rodou mesmo!")
Jun  4 08:37:01 xen crond[12491]: (root) MAIL (mailed 25 bytes of output but got status 0x0001 )
Jun  4 08:40:01 xen crond[12621]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  4 08:50:01 xen crond[12951]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  4 08:51:20 xen crontab[13043]: (root) LIST (root)
Jun  4 08:54:07 xen crontab[13055]: (root) BEGIN EDIT (root)
Jun  4 08:54:45 xen crontab[13055]: (root) REPLACE (root)
Jun  4 08:54:45 xen crontab[13055]: (root) END EDIT (root)
Jun  4 08:54:57 xen crontab[13062]: (root) LIST (root)
Jun  4 08:55:01 xen crond[12465]: (root) RELOAD (cron/root)
Jun  4 08:55:01 xen crond[13135]: (root) CMD (echo "Meu crontab rodou mesmo!")
Jun  4 08:55:02 xen crond[13134]: (root) MAIL (mailed 25 bytes of output but got status 0x0001 )

Ribamar FS

unread,
Jun 4, 2011, 7:58:34 AM6/4/11
to xen...@googlegroups.com
Acho que falta o usuário.
Teste este exemplo:

0 22 * * * root /root/backup.sh

Note a presença do *. Ele pode ser interpretado como todos, ou todas. Neste caso, agendamos o nosso script para ser executado às 22h e 0m de todos os dias, todos os meses, todos os dias da semana. O usuário que executará o script será o root, e por fim, definimos qual script será executado.

Em 4 de junho de 2011 08:53, Wanderton <wand...@gmail.com> escreveu:
--
Você recebeu esta mensagem porque está inscrito em Grupo "xen-br" do Grupos Google.
Para enviar mensagens para este grupo, envie um email para xen...@googlegroups.com
Para anular a inscrição neste grupo, envie um email para xen-br-un...@googlegroups.com
Para mais opções, visite este grupo em http://groups.google.com/group/xen-br?hl=pt-BR
Site do GU Xen-BR: http://www.xen-br.org
Antes de enviar sua primeira mensagem leia atentamente as regras para participação no site http://groups.google.com/group/xen-br/web/regras?hl=pt-BR



--
Que tal cultivar colaboração ao invés de competição?
                 --------------------------------------------
                 Ribamar FS - rib...@ribafs.org
                            http://ribafs.org

Wanderton

unread,
Jun 4, 2011, 8:10:20 AM6/4/11
to xen...@googlegroups.com
Saudações Ribamar,
Fiz um teste como vc descreveu e continua sem funcionar; Não consigo achar o erro...

Tem mais alguma coisa que posso fazer?
Agradeço a ajuda!

Ribamar FS

unread,
Jun 4, 2011, 8:13:56 AM6/4/11
to xen...@googlegroups.com
Bem, vou te mandar agora um exemplo que tenho funcionando num servidor por aqui:

0 0 * * 1-5 /home2/backup.sh

Executará as zero horas de segunda a sexta o script.

Wanderton

unread,
Jun 4, 2011, 9:02:52 AM6/4/11
to xen...@googlegroups.com
Olá, o que está acontecendo e que o crontab não está executando comando algum; Testei um agendamento simples onde o mesmo deveria mostrar uma frase na tela e na hora marcada, nada acontece. Com certeza o problema esta no serviço contrab.
Segue ex. do comando:

37 8 * * * echo "Meu crontab rodou mesmo!"

Vc sabe como eu faço para testar se o crontab estar funcionando corretamente? Lembrando que estou executando esse contab com o usuário root.

Ribamar FS

unread,
Jun 4, 2011, 9:05:39 AM6/4/11
to xen...@googlegroups.com
Em 4 de junho de 2011 10:02, Wanderton <wand...@gmail.com> escreveu:
Olá, o que está acontecendo e que o crontab não está executando comando algum; Testei um agendamento simples onde o mesmo deveria mostrar uma frase na tela e na hora marcada, nada acontece. Com certeza o problema esta no serviço contrab.
Segue ex. do comando:

37 8 * * * echo "Meu crontab rodou mesmo!"

Vc sabe como eu faço para testar se o crontab estar funcionando corretamente? Lembrando que estou executando esse contab com o usuário root.


Sinceramente não sei.
Mas seria o caso de procurar algum exemplo na sua distribuião, aliás, qual é sua distribuição?

Seria o caso de pedir para executar algo direto como criar um diretório daqui há 1 minuto e verificar.

Nunca vi isso não.
 

Renato C. Pacheco

unread,
Jun 4, 2011, 12:33:50 PM6/4/11
to xen...@googlegroups.com
Pra vc testar o crontab, veja se o servidor crond tá rodando:

# tail -f /var/log/cron

Se estiver uma msg como essa abaixo:

Jun  4 13:25:43 renato-fedora crond[1528]: (CRON) STARTUP (1.4.7)
Jun  4 13:25:43 renato-fedora crond[1528]: (CRON) INFO (running with inotify support)

Blz, rodando... dae vc vai no crontab e coloque da seguinte forma:

*/5 * * * * /sbin/shutdown -h now 1&2> /dev/null

A regra é para rodar d 5 em 5 minutos. Se der certo, coloque o horário desejado.

--
Renato Carneiro Pacheco
Pós-Graduado em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


2011/6/4 Ribamar FS <rib...@gmail.com>

Ribamar FS

unread,
Jun 4, 2011, 2:45:53 PM6/4/11
to xen...@googlegroups.com
Em 4 de junho de 2011 13:33, Renato C. Pacheco <renato....@gmail.com> escreveu:
Pra vc testar o crontab, veja se o servidor crond tá rodando:

# tail -f /var/log/cron

Eu testei aqui e não deu resultado. Talvez dependa da distribuição. Aqui tenho o Ubuntu:

ribafs@ribamar:~$ tail -f /var/log/cron
tail: não foi possível abrir `/var/log/cron' para leitura: Arquivo ou diretório não encontrado
tail: nenhum aquivo restante
 

Aí me lembrei do ps ax:

ribafs@ribamar:~$ ps ax|grep cron
 1246 ?        Ss     0:00 cron
 2340 pts/0    S+     0:00 grep --color=auto cron
ribafs@ribamar:~$
 
E voltou um processo com ID 1246

Renato C. Pacheco

unread,
Jun 4, 2011, 2:55:05 PM6/4/11
to xen...@googlegroups.com
É pq vc tem q executar como root. Não percebeu o símbolo de cerquilha antes do comando? Colocou a linha no crontab como falei?

Ribamar FS

unread,
Jun 4, 2011, 3:05:11 PM6/4/11
to xen...@googlegroups.com
Não é isso, veja como root:

root@ribamar:~# tail -f /var/log/cron

tail: não foi possível abrir `/var/log/cron' para leitura: Arquivo ou diretório não encontrado
tail: nenhum aquivo restante


Renato C. Pacheco

unread,
Jun 4, 2011, 3:27:08 PM6/4/11
to xen...@googlegroups.com
D uma olhada se no /var/log o nome do arquivo do log esteja com nome diferente. Dependendo d cada distro, muda.

Ribamar FS

unread,
Jun 4, 2011, 3:52:09 PM6/4/11
to xen...@googlegroups.com
Aqui não vi nenhum arquivo do crom no /var/log.

Karin Klayton Schiochet

unread,
Jun 4, 2011, 6:21:46 PM6/4/11
to xen...@googlegroups.com
Ribamar,

Qual é o SO. que estais usando,

Pode ser feito alguns testes.

Começando do trivial,
Verifique se existe esses diretórios e arquivo no /etc.
cron.d/       cron.daily/   cron.hourly/  cron.monthly/ crontab       cron.weekly/

Se o SO. for Red Hat ou da sua  familia, vai existir um log específico no /var/log/cron, se for Debian é provável que não e tudo seja logado no messages.

verifique se o serviço está rodando.
pidof cron e compare com o pid que está no cat /var/run/crond.pid

Se tudo tiver normal, digo tenha o que foi informado acima, tente criar um agendamento da seguinte forma:
crontab -e
15 23 * * 0-5 /sbin/shutdown -h now

a diferença é apenas de ter colocado o path completo do comando, caso contrário, coloque um export PATH no início.

Veja se ajuda em alguma coisa.

Atenciosamente,
Karin Klayton Schiochet

Clovis Tristão

unread,
Jun 4, 2011, 6:49:01 PM6/4/11
to xen...@googlegroups.com
Outro detalhe,

IMHO: Coloque o comando shutdown -h now, dentro de um script. E aponte no crontab para esse script.

Clóvis

2011/6/4 Karin Klayton Schiochet <karink...@gmail.com>



--
Clóvis Tristão
Net Admin
Phone: 55 (19) 3296-4057
Mobile: 55 (19) 9117-3116
MSN: clovis_t...@hotmail.com
Skype: tclovis
GTalk: tcl...@gmail.com
Facebook: clovis.tristao
Twitter: @tclovis
Identi.ca: tclovis
-------------------;~)----
Be Cool, use GNU/Linux
----------------------------------------
BrOffice.org --> http://broffice.org/
LibreOffice.org --> http://libreoffice.org/

Ribamar FS

unread,
Jun 4, 2011, 7:10:06 PM6/4/11
to xen...@googlegroups.com
Em 4 de junho de 2011 19:21, Karin Klayton Schiochet <karink...@gmail.com> escreveu:
Ribamar,

Qual é o SO. que estais usando,

Aqui é Ubuntu e chequei também em um servidor Debian
 

Pode ser feito alguns testes.

Começando do trivial,
Verifique se existe esses diretórios e arquivo no /etc.
cron.d/       cron.daily/   cron.hourly/  cron.monthly/ crontab       cron.weekly/

Se o SO. for Red Hat ou da sua  familia, vai existir um log específico no /var/log/cron, se for Debian é provável que não e tudo seja logado no messages.

verifique se o serviço está rodando.
pidof cron e compare com o pid que está no cat /var/run/crond.pid

Se tudo tiver normal, digo tenha o que foi informado acima, tente criar um agendamento da seguinte forma:
crontab -e
15 23 * * 0-5 /sbin/shutdown -h now

a diferença é apenas de ter colocado o path completo do comando, caso contrário, coloque um export PATH no início.

Veja se ajuda em alguma coisa.


Valeu pelas informaçoes!
Espero que o colega que esteja com o problema agora resolva.

--
Você recebeu esta mensagem porque está inscrito em Grupo "xen-br" do Grupos Google.
Para enviar mensagens para este grupo, envie um email para xen...@googlegroups.com
Para anular a inscrição neste grupo, envie um email para xen-br-un...@googlegroups.com
Para mais opções, visite este grupo em http://groups.google.com/group/xen-br?hl=pt-BR
Site do GU Xen-BR: http://www.xen-br.org
Antes de enviar sua primeira mensagem leia atentamente as regras para participação no site http://groups.google.com/group/xen-br/web/regras?hl=pt-BR

Wanderton

unread,
Jun 5, 2011, 10:02:21 AM6/5/11
to xen...@googlegroups.com
Olá usei a sua dica e retornou o seguinte conteudo:

[root@xen log]# cd ./cron
-bash: cd: ./cron: Not a directory
[root@xen log]# tail -f cron
Jun  5 09:13:10 xen crond[12287]: (root) MAIL (mailed 25 bytes of output but got status 0x0001 )
Jun  5 09:20:01 xen crond[12464]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 09:30:01 xen crond[12565]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 09:40:01 xen crond[12740]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 09:50:01 xen crond[12842]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 10:00:01 xen crond[13013]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 10:01:01 xen crond[13015]: (root) CMD (run-parts /etc/cron.hourly)
Jun  5 10:10:01 xen crond[13186]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 10:20:01 xen crond[13359]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 10:30:01 xen crond[13459]: (root) CMD (/usr/lib/sa/sa1 1 1)

Lembrando que uso o Citrix XenServer 5.5.0 e também testei no 5.6.0
Acredito que o meu cron não está executando na inicialização do sistema.

Uma dica usei o comando: 
service cron status
cron: unrecognized service

Já o comando service crond status retornou: crond (pid  12465) is running...

Segue mais comandos:

chkconfig --list crond
crond          0:off 1:off 2:on 3:on 4:on 5:on 6:off


Em 4 de junho de 2011 13:33, Renato C. Pacheco <renato....@gmail.com> escreveu:

Ribamar FS

unread,
Jun 5, 2011, 10:31:53 AM6/5/11
to xen...@googlegroups.com
Em 5 de junho de 2011 11:02, Wanderton <wand...@gmail.com> escreveu:
Olá usei a sua dica e retornou o seguinte conteudo:

[root@xen log]# cd ./cron
-bash: cd: ./cron: Not a directory
[root@xen log]# tail -f cron
Jun  5 09:13:10 xen crond[12287]: (root) MAIL (mailed 25 bytes of output but got status 0x0001 )
Jun  5 09:20:01 xen crond[12464]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 09:30:01 xen crond[12565]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 09:40:01 xen crond[12740]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 09:50:01 xen crond[12842]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 10:00:01 xen crond[13013]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 10:01:01 xen crond[13015]: (root) CMD (run-parts /etc/cron.hourly)
Jun  5 10:10:01 xen crond[13186]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 10:20:01 xen crond[13359]: (root) CMD (/usr/lib/sa/sa1 1 1)
Jun  5 10:30:01 xen crond[13459]: (root) CMD (/usr/lib/sa/sa1 1 1)

Lembrando que uso o Citrix XenServer 5.5.0 e também testei no 5.6.0

Citrix XenServer, então é o CentOS, portanto um RedHat.
 
Acredito que o meu cron não está executando na inicialização do sistema.


Como assim? ele está executando agora! Foi você quem estartou?
 
Uma dica usei o comando: 
service cron status
cron: unrecognized service

Já o comando service crond status retornou: crond (pid  12465) is running...

Então o serviço é crond.
 
Segue mais comandos:

chkconfig --list crond
crond          0:off 1:off 2:on 3:on 4:on 5:on 6:off


Se não me falha a memória usa-se este comando para colocar no boot.
Veja se é assim:

chkconfig crond on

Agora me lembrei de algo. Se sua versão é a free o Citrix vem com várias características desabilitadas, ou não?
 

Wanderton

unread,
Jun 5, 2011, 11:09:44 AM6/5/11
to xen...@googlegroups.com
Saudações! Infelizmente não consigo resolver esse problema do crontab no Citrix XenServer 5.6.0 Free

verifico que o serviço service crond status esta running uso o camando crontab -e depois programo: 2      11      * * * echo "Meu crontab rodou mesmo!"

Nada acontece, realmente não sei mais o que fazer para resolver esse problema!

Ribamar FS

unread,
Jun 5, 2011, 11:12:46 AM6/5/11
to xen...@googlegroups.com
Será que ele não está de alguma forma desabilitado? Tendo em vista que é a versão free?!

Karin Klayton Schiochet

unread,
Jun 5, 2011, 11:21:58 AM6/5/11
to xen...@googlegroups.com
Wanderton,

já que não está tendo resultado com o que esta rodando agora, tente em último caso reinstalar o cron.

Atenciosamente,
Karin Klayton Schiochet

Wanderton

unread,
Jun 5, 2011, 11:39:13 AM6/5/11
to xen...@googlegroups.com
Olá, não sei informar.

Ribamar FS

unread,
Jun 5, 2011, 12:44:16 PM6/5/11
to xen...@googlegroups.com
Não sabe informar ou não sabe instalar?

Bem, para instalar no Centos

yum install cron

ou algo parecido.

yum search cron

Wanderton

unread,
Jun 5, 2011, 2:49:43 PM6/5/11
to xen...@googlegroups.com
Olá, como falei uso o Citrix XenServer 5.6.0 Free, e não tenho conhecimento suficiente dessa distribuição para resolver esse problema.

Ribamar FS

unread,
Jun 5, 2011, 4:54:02 PM6/5/11
to xen...@googlegroups.com
Entendi, mas o Citrix usa internamente o CentOS, que é um RedHat, por isso te sugeri executar o comando

yum install cron

Se não funcionar use este para saber o nome certo do pacote:

yum search cron

Cleriston Martinelo

unread,
Jun 4, 2011, 8:15:07 AM6/4/11
to xen...@googlegroups.com
Olá Vanderton

Tente colocar o caminho absoluto do shutdown
# Programando o desligamento para todos os dias as 20:00h
00 20 * * * /sbin/shutdown -h now

Isso já aconteceu comigo, mas no freebsd

2011/6/4 Wanderton <wand...@gmail.com>

Ricardo Fontes

unread,
Jun 4, 2011, 6:04:37 PM6/4/11
to xen...@googlegroups.com
Wanderton,
 
Veja nos seus logs do cron, os erros que estão sendo gerando na hora de rodar seu agendamento. Num primeiro momento, acredito que, em se tratando do comando shutdown, onde so os usuários roots podem executá-los, seja um problema de permissão.
 
Se tiver dúvidas na interpretação dos logs, posta aqui que eu tento te ajudar a decifrar o problema.
 
Abraços
 
Ricardo

Ricardo Fontes
Analista e Projetista de Redes

Eliel

unread,
Jun 4, 2011, 5:28:38 PM6/4/11
to xen...@googlegroups.com
/var/log tem que ter
arquivo do crontab pode faltar.. mas o /var/log eh essencial pra
armazenar todos os logs do sistema

2011/6/4 Ribamar FS <rib...@gmail.com>:

Eliel

unread,
Jun 4, 2011, 3:23:53 PM6/4/11
to xen...@googlegroups.com
http://www.linuxquestions.org/questions/programming-9/crontab-log-does-not-exist-552809/
Pra efetuar o log do crontab... no ubuntu não é padrão estar habilitado.

Referente ao seu cron.. o crontab nao abre um shell cheio de coisas
como o bash ou sh... o shell dele é muito limitado e nâo conhece
symlinks, por exemplo.
no caso vc deve passar todos os parametros corretamente (sendo caxias
mesmo), pra poder funcionar.

no caso /sbin/shutdown -h now

Tente ai, e me avise :D

regards

2011/6/4 Ribamar FS <rib...@gmail.com>:

Sandro

unread,
Jun 6, 2011, 8:07:30 AM6/6/11
to xen...@googlegroups.com
No meu caso aqui , eu tenho um servidor debian com xen instalado.
Depois de muita pesquisa eu verifiquei que no caso do Debian , o crontab tem de ficar da seguinte forma:

deve-se editar o crontab como root :

# crontab -e

depois deve-se direcionar o fluxo de saidas dos comandos para um arquivo ou o "buraco negro" (/dev/null).

e no final do crontab deve-se ter um # ( curiosidade : Octothorpe , e o verdadeiro nome da tralha).

os caminhos dos comandos devem ser completos.

Segue um exemplo de um script que funciona normalmente comigo:

Os erros devem ser direcionados para o vazio.

# m h  dom mon dow   command
0 3 15,30 * * /root/scripts/limpa_cache_proxy.sh > /dev/null  2>&1
#

Neste exemplo acima o script limpa_cache_proxy será executado as 03:00hs de 15 em 15 dias todos os meses .

Espero ter ajudado
--
Sandro                ||
                  ( }    \||D   
                | /\__,=_[_] 
                |_\_  |----|                 
                |  |/ |    |                   
          ___ |  /_ |    | _      

Linus Torvalds disse: "Haja Luz", e houve Linux !!!

Linux User #497320

Wanderton

unread,
Jun 10, 2011, 11:13:53 PM6/10/11
to xen...@googlegroups.com
PROBLEMA COM O CRONTAB (RESOLVIDO !!!!)

Segue um passo a passo para desligar o servidor:
Obs. O Credito dessa solução é do Prof. MARCELINO ANTERO SILVA
(Faculdade Leão Sampaio - Juazeiro do Norte - CE)

1. Como root: crontab –e
2. Clique i depois use o comando
#Programando o desligamento para as 23:00h
00 23 * * * /sbin/init 0
3. Tecle ESQ, depois :wq
4. Dicas:
1) Localize onde fica o comando init do Linux com o comando: whrereis init
Ex. [root@localhost ~]# whereis init
init: /sbin/init /etc/init.d /lib/init /usr/share/man/man8/init.8.gz
Escolha o de caminho mais curto: /sbin/init

Espero ter ajudado!!!

Ribamar FS

unread,
Jun 11, 2011, 7:51:46 AM6/11/11
to xen...@googlegroups.com
A meu ver o problema não estava no crontab.
Estava quando você ia sair e salvar, ou não?
Como pelo visto é i editor vi, precisa usar ESC e :wr

Valeu pelo retorno.
Reply all
Reply to author
Forward
0 new messages