Jump to content

Recommended Posts

Posted

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?

http://img400.imageshack.us/img400/8762/erro4sb.png

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

Mas, existe um "atalho" para isto:

http://img400.imageshack.us/img400/8762/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ã?

http://img400.imageshack.us/img400/8762/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 🙂

  • 1 month later...
Posted

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

  • 11 months later...
  • 5 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.