Ir para o conteúdo
  • Materiais
    • Ebook – Ubuntu Linux
    • Ebook – Como Usar Virtualbox
    • Ebook – Kali Linux – Guia de Instalação e Configuração de um Ambiente para Hacking
    • Ebook – O Guia Rápido Sobre Servidor WEB com Apache
    • Ebook – Como Criar Um Servidor Proxy Com Squid
    • Ebook – Apache vs Nginx – O confronto entre os dois servidores web mais utilizados no Linux
    • Ebook – Firewall Com pfSense – Guia para Iniciantes
    • Ebook – Amazon EC2 – Como Criar Seu Primeiro Servidor Na Nuvem
    • Ebook – 10 Shell Script para ADM Linux
  • Sobre
  • Cursos
Menu
  • Materiais
    • Ebook – Ubuntu Linux
    • Ebook – Como Usar Virtualbox
    • Ebook – Kali Linux – Guia de Instalação e Configuração de um Ambiente para Hacking
    • Ebook – O Guia Rápido Sobre Servidor WEB com Apache
    • Ebook – Como Criar Um Servidor Proxy Com Squid
    • Ebook – Apache vs Nginx – O confronto entre os dois servidores web mais utilizados no Linux
    • Ebook – Firewall Com pfSense – Guia para Iniciantes
    • Ebook – Amazon EC2 – Como Criar Seu Primeiro Servidor Na Nuvem
    • Ebook – 10 Shell Script para ADM Linux
  • Sobre
  • Cursos

Como agendar um script PHP usando Crontab no Linux

  • pedrodelfino

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email

Como agendar um script PHP usando Crontab no Linux

Como agendar um script PHP no Linux ? Essa foi a pergunta que recebi e gostaria de apresentar algumas opções para os leitores do E-tinet.

Quando trabalhamos com Linux existem muitas opções para executar uma mesma função, e isso é o mais legal. Assim como eu descrevi no Ebook do Curso Linux Ubuntu onde temos muitas formas de instalar softwares por exemplo.

Em um resumo rápido, para agendar tarefas no Linux podemos utilizar o Cron.

agendar-script-php-crontab

O problema que temos hoje é:

Eu tenho um script php no meu servidor, que pode ser executado a partir da linha de comando e também pode ser acessado a partir do navegador usando o servidor web Apache. Eu gostaria de executar este script php a cada 1 hora. Como posso programar isso com Cron em ambiente Linux.

Então vamos ver alguns métodos para agendar o seu script php como crontab no linux.

# 1: Executar o script usando php a partir do crontab

Assim como você chama seu script no shell do Linux, pode usar o executável do PHP e chamar o script a partir do seu crontab.

Para executar “meu-script.php” a cada 1 hora faça o seguinte:

# crontab -e
00 * * * * /usr/local/bin/php /home/pedrodelfino/meu-script.php

#2: Executar o script php usando uma URL

Com a opção 01 ( acima) existe um problema, ela só poderá ser utilizada se você tem acesso ao shell do Linux, mas vamos imaginar que seu script em PHP está em um servidor onde você não tem acesso via shell,  somente ftp para salvar os arquivos.

Então veja essa opção:

Se o seu script  poderá ser acessado apenas pela URL podemos usar o curl, wget  ou o Lynx para configurar o crontab.

A configuração do crontab abaixo executa o script PHP (a cada hora), chamando ele através  da URL usando o navegador de modo texto Lynx.

O Lynx por padrão abre uma URL no modo interativo. Temos a opção -dump que faz o lynx executar e apenas mostrar a saída padrão.

00 * * * * lynx -dump https://e-tinet.com/meu-script.php

Claro que nesse exemplo, podemos usar qualquer computador com Linux para executar esse agendamento.

A configuração a seguir executa o script php (a cada 5 minutos), chamando a URL usando CURL. Usando a opção “curl -o”, você também irá direcionar a saída do seu script para um arquivo temporário, como mostrado abaixo

*/5 * * * * /usr/bin/curl -o temp.txt https://e-tinet.com/meu-script.php

Vamos ver um exemplo agora para executar o script PHP (a cada 10 minutos), chamando a URL usando o WGET. A opção -q indica o modo de execução, a opção  “-O temp.txt” indica que a saída será enviada para o arquivo temporário.

*/10 * * * * /usr/bin/wget -q -O temp.txt https://e-tinet.com/meu-script.php

Então se você tem uma aplicação escrita em PHP que necessita de agendamento o cron é a opção, usando a segunda forma mostrada aqui nesse artigo é mais vantajoso pois podemos usar qualquer computador com Linux para fazer o agendamento, já a primeira opção é mais indicada para quem tem acesso ao shell do servidor Web.

Uma dica importante, tome muito cuidado com agendamento de 5 em 5 minutos, dependendo do tempo de retorno do script isso poderá tornar o seu servidor lento, principalmente se está sendo agendado direto com o executável do PHP.

Então é isso, por hoje é só.

Pedro Delfino

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email
PrevAnteriorSincronização de arquivos no Linux – 10 formas de usar o Rsync
PróximoProxy com Squid3 + SquidGuard no Ubuntu – Controle a sua internet com LinuxNext

Artigos Recentes

Ext4 versus Btrfs: Qual é o Melhor Sistema de Arquivos No Linux?

Escolher o sistema de arquivos certo é crucial para a performance e confiabilidade de um sistema operacional. Entre os sistemas mais utilizados no Linux, Ext4

pedrodelfino

Sockets: Tudo o que Você Precisa Saber

Se você é um administrador de sistemas iniciante e já se perguntou como os dados são transferidos na internet, você não está sozinho. A solução

pedrodelfino
"Um dos projetos que criei já ajudou mais de 110 mil pessoas a aprender LINUX ..."
pedro Delfino
FUNDADOR DO PROFISSIONAIS LINUX

Sobre Pedro Delfino

FUNDADOR DO PROFISSIONAIS LINUX​

Eu sou Pedro Delfino que durante os últimos 18 anos estive envolvido em implantações de soluções de TI utilizando LINUX, enquanto estava á frente de uma equipe de TI.

Fundador do Profissionais Linux que hoje já conta com mais de 2100 alunos, fui o responsável por diversos projetos de sucesso, todos eu sempre foquei o resultado em primeiro lugar, ou seja, sempre quando crio uma nova solução com Linux que será implantada estou procurando um objetivo especifico.

quero acessar agora

MENU

  • Cursos
  • Materiais
  • Blog
  • Contato

redes SOCIAIS

Facebook-f Instagram

Aprenda a dominar o Linux de uma vez por todas

QUERO MINHA CÓPIA GRÁTIS

Aprenda a dominar o Linux de uma vez por todas