Tu já percebeu como as coisas hoje em dia estão corridas?
São várias tarefas, vários eventos para desenvolver e se não prestarmos atenção, corremos o risco de deixarmos algo para trás.
Alguns profissionais que utilizam programas e ficheiros em desktop, utilizam o “Agendador de Tarefas” para não realizar suas atividades. E você que usa a Internet? Que recurso poderá usar?
Hoje estaremos falando um pouco sobre o “Crontab”, isto é: Um recurso disponível no Linux e também no CPanel, um dos mais conhecidos Paineis de Gerenciamento de Web Sites do mundo.
Não vamos entrar em detalhes quanto ao gerenciamento do Crontab no Linux, nem a seus recursos, mas daremos um exemplo básico de como você pode usar o PHP e melhorar suas atividades utilizando esta ferramenta.
Conhecendo O Crontab
Conforme falamos a pouco no início desta matéria, o Crontab do Linux segue o mesmo conceito do agendador de tarefas do Windows.
Se você desenvolve algum sistema, certamente precisa executar uma cobrança, avisos periódicos, entre outras funções.
Com o tempo, isso se torna cansativo fazer manualmente.
Por esse motivo, temos como usar o Crontab, pois essa ferramenta que é nativa do Linux e está disponível em nossos Painéis de Controle (CPanel), nos possibilita efetuar serviços programados na hora exata (hora, minuto, dia, semana ou mês).
Modo De Uso Do Crontab
A primeira vista, se você nunca usou o Crontab para executar tarefas, com certeza você vai estranhar o seu funcionamento, mas após se acostumar, não terá problemas.
O Crontab trabalha executando comandos agendados através de minutos, horas, dias, meses e dias da semana.
Vamos verificar um exemplo mais prático:
- Para executar os Minutos: Você deverá informar no script números de 0 a 59 (para todo o minuto);
- Para executar as Horas: Você deverá informar no script números de 0 a 23 (para toda hora);
- Para executar dias do mês: Você deverá informar no script números de 0 a 31 (para todo dia);
- Para executar o Mês: Você deverá informar no script números de 1 a 12 (para todo mês);
- Caso seja de seu interesse executar os dias da Semana: Você deverá informar no script números de 0 a 7 (para todo dia da semana);
Após isso, execute o Comando, isto é: a tarefa que deverá ser executada através do Crontab.
Entendo se você disser: Puxa, complicou tudo…
Vamos para alguns exemplos práticos?
Executando Scripts De Hora Em Hora
Digamos que você queira agendar uma tarefa disponível no ficheiro “usando_crontab.php” (disponível em “/var/www”). Basta apenas executar a tarefa conforme o código a seguir:
00 * * * * /var/www/usando_crontab.php
OBS.: No evento acima, estamos programando o script “usando_crontab.php” para ser executado todos os dias, de hora em hora sempre que chegar ao minuto “00”.
Executando Scripts Diáriamente
Digamos que você queira executar o script diáriamente. Você precisará seguir esse formato:
02 4 * * * /var/www/usando_crontab.php
Executando Script Semanalmente
Para executar o script semanalmente, você precisa mudar apenas alguns detalhes (conforme código a seguir).
22 4 * * 0 /var/www/usando_crontab.php
Bem… é algo prático, mas… vamos matar todas as dúvidas analisando um gráfico?
Veja o código a seguir e pense em um horário para executar seu script.
44 3 * 3-11 1-5 root /var/www/usando_crontab.php
| | | | | | |
| | | | | | +---- comando a ser executado (com a rota)
| | | | | +---------- usuário que executará o comando
| | | | +-------------- dia da semana
| | | +------------------ mês do ano
| | +---------------------- dia do mês
| +------------------------ hora
+-------------------------- minuto
Mais prático, não?
Como Usar O PHP?
Bem… a integração ao PHP é muito mais fácil e pede apenas 1 detalhe:
Antes de executar seu script, é necessário disponibilizar o caminho a seguir na primeira linha, para que o Crontab execute o arquivo PHP corretamente (conforme o exemplo a seguir):
#!/usr/bin/php
Bem… não precisa fazer muita coisa. Basta apenas você elaborar o seu script e agendar no Crontab.
No exemplo a seguir, o ficheiro disponibiliza no ficheiro “teste.txt” os horários em que executou tarefa no Crontab.
#!/usr/bin/php
Prático, não?
Execute suas atividades e faça os ajustes necessários!
Acredito que mesmo se você tiver pouco tempo de Programação web, não terá dificuldades para trabalhar com esta ferramenta.
4 Responses
Se eu executo o arquivo php ele adicina a tarefa ao arquivo txt,até aí tudo bem, mas o que vai fazer os dados ou seja as tarefas que estão escritas nesse txt serem executadas?
Não entendi isso.
Obrigado
Olá André,
O que fará o seu script ser executado será o Crontab do Linux.
Para entender mais sobre este assunto e até como usar essa ferramenta nativa do Linux (que está disponível no Gerenciador CPanel), te recomendo a pesquisar na Internet a palavra Crontab e fazer alguns testes em seu Servidor.
Ele é fácil de ser gerenciado, mas para isso é necessário haver um costume.
Abraço,
Quemuel Aquino
Como personalizar o titulo e remetente dos e-mails que são enviados pelo cPanel nos avisos que recebemos sempre que uma cron é executada e aparece da seguinte forma no email recepito Cron <email@server> php /home/usuario/public_html/cron_.php?
É possivel eu criar uma agenda anual ?? Tenho uma programação onde o meu servidor da o sinal em uma faculdade funciona direitinho porém quando é feriado tenho que desabilitar no dia que for feriado para que o sinal nao toque