Crontab - Criando e editando


Configurando a Crontab via Painel de Controle

  • Aguarde o carregamento da página de Administração do CLOUD COMPUTING ou SERVIDORES DEDICADOS, clique em Expandir.png "Expandir Serviço/Recurso", localizado à esquerda;
  • Em Hospedagem Inclusa, clique em Administrar idc.jpg "Administrar Serviço/Recurso";

Adm hospedagem01.jpg

  • Na tela seguinte, localize o item Ferramentas

  • Em Ferramentas, clique em Agendador de Tarefas (Crontab).

A partir dai você mesmo pode criar seu próprio agendamento utilizando a sintaxe padrão do Cron. Por exemplo, para criar uma tarefa que faz wget no seu site, toda segunda-feira, às 2:30 da manhã, preencha o formulário Criar Nova Tarefa da seguinte maneira:
Minuto: 30 
Hora: 2 
Dia do Mês: * 
Mês: * 
Dia da Semana: 1 
Comando: wget "http://meusite.com/pagina.php" -O - -q 
Para mais detalhes sobre a sintaxe do Cron, veja este link. Veja mais abaixo como executar aplicações em PHP, em Java, binário, Shell e outras linguagens.

Note que o painel não permite todas as opções possíveis. Nas máquinas compartilhadas a execução de comandos via cron está limitado das 2:00 às 3:00 da manhã. Por isso os campos Minuto e Hora, por exemplo, não aceitam "*", que quer dizer para rodar todos os minutos de todas as horas do dia.
Outra opção que não está disponível nesta versão é colocar, por exemplo no campo Dia da Semana, o valor 1,3,5, que significa segunda, quarta e sexta. Crie 3 linhas de cron se precisar de algo assim.

Configurando a Crontab via SSH


crontab é um recurso da Plataforma Linux que pode ser utilizado, por exemplo, em:
manutenção, criação de arquivos, backup, logs e muitas outras funcionalidades. Essas execuções
podem ser agendadas e são padrão em todas as distribuições que a Locaweb utiliza para a
Plataforma Linux.
Para agendar um crontab em Servidores Dedicados ou Cloud Computing, acesse a área
de hospedagem via *SSH e digite "crontab -e"
Parâmetros
-l usuário -- lista as tarefas agendadas para o usuário

-e usuário -- edita o agendador

-d usuário -- apaga o arquivo do usuário

-c diretório -- especifica um diretório para o Crontab
Sintaxe:
Dentro do arquivo que se abre após o comando existe uma sintaxe conforme a seguir:
mm hh dd MM ss script
onde
mm = minuto(0-59)
hh = hora(0-23)
dd = dia(1-31)
MM = mes(1-12)
ss = dia_da_semana(0-6)
script = comando a ser executado.
Obs 1: Em dia_da_Semana, 0 refere-se a domingo; e 6, ao sábado. 
       No caso de dia da semana funciona também as três primeiras letras 
       (em inglês) do dia da semana (SUN,MON,TUE,WED,THU,FRI,SAT)
Obs 2: Em qualquer posição pode-se usar o * (asterisco) quando não se 
       importar com o campo em questão.
Obs 3: Pode-se utilizar intervalos nesses campos. O caracter para intervalo
       é o - (hifen).
Obs 4: Pode-se utilizar lista de valores nesses campos. O caracter para a
       lista é a , (vírgula).
Obs 5: Qualquer texto colocado após o programa que será executado será
       considerado comentário e não será interpretado pelo cron
Seguem alguns exemplos:
# Todo dia de hora em hora (hora cheia)
00 * * * * /bin/script

# De cinco em cinco minutos todos os dias
*/5 * * * * /bin/script

# Nas seguintes horas: 10, 12, 16, 18, 22 aos 15 minutos da hora
15 10,12,16,18,22 * * * /bin/script

# Nos primeiros cinco dias do mês às 19:25
25 19 01-05 * * /bin/script

# De segunda a sexta ao meio-dia e a meia-noite
00 00,12 * * 1-5 /bin/script

# Script rodar Segunda,Quarta,Sexta às 2 horas
00 02 * * 1,3,5 /bin/script

# Script para rodar Terça,Quinta às 3 horas
00 03 * * 2,4 /bin/script

# Ignorar toda a saída e erros do script (incluir o >/dev/null 2>&1)
00 04 * * * /bin/script >/dev/null 2>&1

Agendamento de execução de scripts PHP

Informe o comando
wget "http://meusite.com/pagina.php" -O - -q
ou
php /home/LoginFTP/public_html/script.php

Agendamento de execução de scripts Java

Para agendar aplicações JAVA insira o seguinte comando :
/usr/java/jdk/bin/java -jar caminho da jar
Por exemplo :
/usr/java/jdk/bin/java -jar /home/login/public_html/WEB-INF/lib/aplicacao.jar 
Para executar arquivos do site use "wget" no início do endereço, exemplo:
wget "http://meusite.com/pagina.jsp" -O - -q

ShellScripts, Perl, Python, binários e demais comandos

Basta especificar o comando que você deveria digitar para executar a tarefa. Se for arquivo, especifique o caminho inteiro dele, como no segundo exemplo de execução de um script PHP e no segundo exemplo de Java.
Lembre-se de dar permissão 755 no arquivo a ser executado. Caso tenha dúvidas consulte Alterando a permissão de pastas em Linux.

Para agendar shell script insira o seguinte comando :
/bin/bash /home/login_ftp/public_html/bash.sh
Reiniciar o Serviço cron
# service cron status
executando servico...
Usage: /etc/init.d/cron start|stop|restart|reload|force-reload
Close Menu