• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

_JR_

Como utilizar o cron | LinTeam

4 mensagens neste tópico

Introdução

Muita gente desconhece o Cron. Eu também o desconhecia até isntalar o meu modem IceData no Ubuntu mas, e como amanhã a prova global é de Inglês que é facil logo tenho tempo, só agora me lembrei de fazer um tutorial de como o usar :)

Antes de mais convém salientar que o Cron apenas permite correr programa da consola, e não serve para programa GUI.

Tutorial

Para utilizar o cron é necessário criar um ficheiro para o usar como o "arrancador"

gedit /home/user/cron/cron_file

Podem usar qualquer editor.... Eu apenas disse o gedit porque é o que eu uso :)

Também podem usar qualquer nome para o file.

O cron contém uma "formato" que é necessário manter para funcionar.

O formato é o seguinte:

]Minutos Horas Dias Meses Dia-da-Semana Comando

Minutos -------> Minutos da hora prentendida, de 00 a 59. Para por a todos os minutos usa *.

Horas ---------> Hora do dia no formato de 24 horas, entre 00 e 23. Para por a todas as horas usa *.

Dia -----------> Dia do mês, entre 1 e 31. Para por a todos os dias usa *.

Meses ---------> Mês do ano, entre 1 e 12. Para por a todos os meses usa *.

Dia-da-Semana -> O dia da semana que queres, 3 caracteres em inglês - sun (Sunday = Domingo), mon (Monday = Segunda), tue (Tuesday = Terça), ou numérica (0=Domingo, 1=Segunda...)

Comando -------> O Comando que queres executar.

Deves incluir a linha seguinte no ínicio do ficheiro:

MAILTO=o-teu-email@o-que-tu-kiseres.pt

[obvio que o-teu-email@o-que-tu-kiseres.pt deve ser substituido pelo teu própio mail :) ]

Isto assegura que, se houver algum erro com relatório, ele é mandado para o teu e-mail. Para para algum email gerado quando o comando é executado, utiliza:

MAILTO=""

Isto deve ser usado quando o ficheiro contrab estiver a funcionar correctamente.

Exemplos

Como correr o comando a cada 5 minutos?

erro4sb.png

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /o/comando

Mas, existe um "atalho" para isto:

erro4sb.png

*/5 * * * * /o/comando

O */5 é reconhecido como equivalente a 0,5,10... e faz o mesmo que o outro comando. Isto pode ser usado tanto para os minutos como para as horas.

Como correr no dia 1 de Junho às 10 horas da manhã?

erro4sb.png

00 10 1 6 0 echo "Hoje sai o Ubuntu DapperDrak"

Não tenho a certeza mas julgo que o 0 do dia da semana é opcional.

Opções do comando Crontab

[*] crontab -e

Isto permite criar ou editar um ficheiro crontab.

[*] crontab -l

Isto cria uma lista de conteúdos do teu ficheiro crontab e é muti útil para verificar se editas-te o teu ficheiro correctamente depois de o editares.

[*] crontab -r

Isto elimita o conteúdo do ficheiro crontab (faz um backup para o caso de te enganares e elimanres o file)

[*] crontrab -u <utilizador> <ficheiro>

Carrega um ficheiro crontab por ti criado.

[*] crontab <ficheiro>

Isto é um método alternativo para configurar o teu file contrab. Em vez de usares crontab -e, podes criar um ficheiro com os comandos cron e usá-lo para substituir o conteúdo actual do teu ficheiro crontab. De notar que isto irá passar por cima de qualquer coisa que esteja actualmente no teu ficheiro contrab com o conteúdo do ficheiro.

E é tudo.

Lembrem-se que sempre que alteram alguma coisa no ficheiro do crontab é sempre necessário voltar a carregá-lo.

PS: Devido a um pequeno erro no forum, tive de por algum code em imagem. Quando existe esse caso é o code da imagem mais o code que está escrito em baixo. <--- Esta mensagem de erro referia-se no forum do btuga, mas não há prob de por ali em imagens :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom post sobre crontab!

Apenas gostaria de acrescentar que para quem tiver a trabalhar remotamente (ssh), e não tiver um editor gráfico, sempre tem outro meio para trabalhar com o cron.

Aqui vai:

1 - crontab -e (abre o ficheiro crontab com o vi)

2 - Carregar na tecla "i" (i de inserir...)

3 - Escrever no ficheiro tal como está no tutorial

4 - Carregar na tecla "esc", depois na tecla ":" e finalmente escrever "wq" (w=write, q=quit)

Se forem root da maquina, também podem adicinar comandos nas pastas do cron

[root@nova ~]# cd /etc/cron

cron.d/      cron.daily/  cron.deny    cron.hourly/  cron.monthly/ crontab      cron.weekly/

[root@nova ~]#

Depois é escolher uma pasta, e colocar um ficheiro com o comando do cron. Aqui um exemplo com o MRTG (/etc/cron.d

/mrtg:

*/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Antes de mais convém salientar que o Cron apenas permite correr programa da consola, e não serve para programa GUI.

por acaso isso não é verdade, para correr programas com GUI basta colocar DISPLAY=":0" antes do comando.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora