Home / Artigos / Guias de hospedagem na web / Dominando As Tarefas Agendadas e Automatizando Tarefas Básicas do Servidor

Dominando As Tarefas Agendadas e Automatizando Tarefas Básicas do Servidor

Hospedagem na web foi projetado para ser fácil, direto e perfeito para o profissional que está em movimento e simplesmente não pode dedicar todas as horas do dia a gerenciando seu servidor de hospedagem e de umssotarefas associadas.

Para isso, quase todos os servidores baseados em Unix ou Linux oferece um gerenciador de tarefas automatizado conhecido como “cron Job”Ou“ Crontab ”.

Este utilitário de software é muito parecido com o agendador de tarefas no Microsoft Windows, no qual ele pode ser instruído a fazer certas coisas em determinados momentos, evitando que um usuário execute essas tarefas manualmente. Isso é especialmente importante quando se considera que muitos procedimentos rotineiros de manutenção, backup e comunicação do servidor podem levar horas e horas para serem concluídos. A maioria das pessoas simplesmente quer ir para casa depois de um dia no escritório e relaxar, em vez de passar a noite fazendo backup de arquivos e gerenciando contatos.

Essas pessoas estão com sorte, pois todas as tarefas podem ser agendadas em uma base diária, semanal ou mensal - ou ainda mais separadamente, em alguns casos, e instruções específicas podem ser fornecidas ao servidor dentro do utilitário Crontab sobre como realizar a tarefa , como saber quando está concluído e o que fazer quando a tarefa em mãos estiver realmente concluída.

Os usuários poderão relaxar enquanto seu servidor faz todo o trabalho pesado por horas; ou eles podem simplesmente agendar o trabalho para ser concluído enquanto eles estão trabalhando duro em seus próprios escritórios. Como é automatizado, um trabalho do Cron pode ocorrer praticamente a qualquer hora do dia.

Aprendendo a contar o tempo usando o formato de um trabalho Cron

Um trabalho Cron não é exatamente uma coisa fácil de dominar; na verdade, é amplamente considerada uma das configurações mais avançadas disponíveis em um padrão Linux or Unix servidor web. Isso ocorre parcialmente porque a linguagem usada para programar esses trabalhos é tão arcaica e, em alguns casos, completamente atrasada. Quando se trata de dizer um certo tempo para o trabalho Cron ou Cron guia em questão, as coisas são certamente para trás, de cabeça para baixo e um pouco confuso.

O formato para contar o tempo através de um trabalho Cron é tal:

HORA DE MINUTO DIA-DE-MÊS MÊS COMANDO DE DIA DE SEMANA

É tudo uma linha, e mesmo número e comando estão lado a lado em uma contração uniforme. É o suficiente para tornar a maioria dos desenvolvedores e servidores operaOs gerentes estremecem e, de fato, muitos deles o fazem até entenderem o desenvolvimento de um Cron job eficiente.

É importante notar que todos os aspectos do tempo de trabalho do Cron são numéricos; não há nomes de dias de nomes de meses ou outras palavras usadas durante o desenvolvimento do tempo durante o qual uma tarefa deve ser executada.

Portanto, vamos definir um trabalho Cron para 10: 30 em julho 7th para ter uma ideia de como o tempo de um trabalho Cron se parece quando é transformado em números estritos.

30 10 07 07 *

O exemplo acima indica que o trabalho deve ser concluído no minuto 30 da décima hora no sétimo dia do sétimo mês. Todos os números têm dois dígitos, mesmo quando o mês ou o dia é apenas um dígito. Isso é importante lembrar, já que um único dígito geralmente fará com que o trabalho do Cron seja inválido e ele simplesmente não será executado, nunca. No final da estrutura, um asterisco indica que o trabalho deve ser realizado em qualquer dia da semana. Isso é importante, já que defini-lo como 03 para quarta-feira significaria que a tarefa seria executada apenas em 7 de julho se esse dia fosse uma terça-feira. É provável que isso aconteça a cada sete ou oito anos, o que é um pouco absorvido para a maioria dos desenvolvedores considerar.

Outra consideração importante a ser feita ao configurar um trabalho Cron é que o formato de hora é o horário militar 24-hora em vez do horário civil 12-hora. Para alterar a hora do trabalho Cron para 10 pm, a hora seria alterada para 22 em vez do 10 atual.

Por fim, se um usuário quiser apenas concluir uma tarefa diariamente, mensalmente ou até mesmo anualmente, ele poderá ignorar o processo de definir um horário específico inteiramente. Em vez disso, o processo de trabalho Cron fornece simplesmente variáveis ​​que determinam quando um trabalho é feito nesses intervalos frequentes. Esses incluem:

  • @diariamente
  • @por mês
  • @anual

Como o horário não pode ser estritamente controlado e determinado usando horas e minutos, esses trabalhos ocorrerão exatamente à meia-noite, de acordo com o horário interno do servidor, no intervalo solicitado. Isso significa que o intervalo @monthly ocorrerá exatamente à meia-noite do primeiro dia de cada mês. O intervalo @yearly ocorrerá exatamente à meia-noite do primeiro dia de cada ano; e o intervalo @daily ocorrerá exatamente à meia-noite todos os dias do ano.

Isso é muito mais fácil do que definir uma data, hora e dia da semana específicos, mas certas tarefas sendo executadas à meia-noite no primeiro dia do mês ou ano podem ter algumas desvantagens para determinados clientes. Sempre mantenha as necessidades dos administradores e dos visitantes do site em mente ao agendar tarefas que ocorrem exatamente à meia-noite.

Compreender a variável "COMMAND" e o que fazer com ela

Como pode ser visto no exemplo acima, construir um trabalho Cron real é relativamente fácil. A data deve ser definida primeiro e logo em seguida a função do Cron job é definida. Essa função pode ser literalmente qualquer coisa, incluindo a execução de um PHP script ou executando um script de backup personalizado que armazena os arquivos e dados do servidor em um arquivo remoto ou local. Para esclarecimento, vamos nos basear no exemplo que foi usado anteriormente e instruir o trabalho Cron a executar um PHP script em 7 de julho às 10h30 da manhã. Esse PHP script será chamado de “backup.php” e vamos assumir que o PHP file é um script de backup completo que reúne, compacta e armazena arquivos do site no sétimo dia do mês, quando instruído a fazê-lo pelo servidor. Aqui está o que parece:

30 10 07 07 * http://nome-do-seu-domínio.com/backup-scripts/backup.php

Quando este trabalho do Cron for inserido na lista de guias do Cron do servidor, ele será executado automaticamente às 10h30 do dia 7 de julho de cada ano. Ele irá executar o PHP script de backup que está localizado no diretório “backup-scripts”, e é aí que funciona o verdadeiro gênio da configuração do trabalho Cron.

Em vez de exigir comandos avançados de seus usuários para executar coisas como site backups e liberações de cache, ele simplesmente oferece aos usuários a capacidade de executar scripts existentes em um intervalo especificado ou em uma data específica em um horário específico. Isso significa que nenhum avançado linguagem de programação conhecimento é necessário além do que o usuário já sabe. PHP é perfeitamente capaz de fazer backup de arquivos do site, assim como arquivos muito mais avançados e linguagens de programação que o usuário mais sofisticado pode desenvolver para seus Linux servidor.

Essa configuração simples pode ser usada para fazer praticamente qualquer coisa, desde que um script pré-escrito forneça a execução dessas ações independentemente da entrada do usuário. Isso significa que qualquer script executado por um trabalho Cron dentro de uma guia Cron deve ser totalmente automatizado e capaz de ser executado por conta própria, no entanto. Por exemplo, seria impossível (e simplesmente ilógico) dizer ao trabalho Cron para executar um WordPress índice ou arquivo de tema todos os dias ao mesmo tempo. Simplesmente não há ações ou processos automatizados definidos e, embora o trabalho Cron certamente execute o arquivo, ele não faria nada e ficaria estático até que a entrada do usuário fosse fornecida de outra maneira.

Por esse motivo, se estiver codificando ou fazendo download de scripts de backup ou outros para trabalhar com tarefas Cron, certifique-se sempre de que eles exijam exatamente zero de entrada do usuário para executar suas funções com êxito. Um agendador de tarefas automatizado deve ser emparelhado com um processo automatizado dentro do arquivo que ele executa. Não há exceções a essa regra.

Dominando o arquivo geral da guia Cron em um servidor típico

Cada tarefa Cron específica especificada para execução está dentro de um arquivo maior, conhecido como guia Cron. Alguns servidores têm várias guias Cron para vários tipos de aplicativos e entradas automatizadas, mas isso é raro e amplamente reservado para o servidor mais avançado operatores e proprietários. Aqueles que têm apenas um arquivo de guia Cron podem usar os comandos abaixo para editar, excluir ou visualizar o arquivo em sua totalidade, com cada uma de suas tarefas automatizadas específicas listadas para visualização dentro do arquivo.

crontab -r

Este comando remove (portanto, “r”) ou exclui o próprio arquivo da guia Cron inteiro. Isso irá eliminá-lo efetivamente de todos os comandos e scripts automatizados e restaurá-lo em um arquivo em branco que pode ser reconstruído. Esta é uma opção adequada para aqueles que conseguiram corromper o arquivo ou de alguma forma se apropriaram de tarefas e horários. Às vezes, é simplesmente mais fácil começar tudo de novo.

crontab -e

Neste caso, “e” significa “editar”. Os usuários que desejam editar as funções descritas em uma guia Cron em vez de excluir o arquivo inteiramente podem usar este comando para ser levado ao editor de linha de comando, o que lhes permitirá adicionar novas tarefas, remover as antigas ou alterar a programação aplicável vezes para cada um dos trabalhos Cron listados no documento da guia Cron.

crontab -l

Neste caso, é fácil de lembrar por umssociando o “L” com “olhar. Este comando permite que um administrador de servidor simplesmente visualize o conteúdo completo de seu arquivo de guia Cron sem removê-lo totalmente do servidor e sem ter a capacidade de editar o conteúdo. Essa exibição somente leitura do conteúdo da guia Cron é perfeita para lembrar quais tarefas estão agendadas para quais horários e para verificar a integridade do próprio arquivo.

Por que é importante dominar o Cron Job e os arquivos de automação de uma guia Cron

De um modo geral, a única coisa automatizada em um servidor é a rotação de seu disco rígido e o desempenho de seus recursos de hardware. Além disso, porém, o servidor deve ser treinado e instruído para realizar tarefas rotineiras e extraordinárias que vão além de simplesmente exibir um painel de controle de software ou atualizar a instalação de PHP ou Perl que um usuário colocou no disco rígido.

É importante lembrar que uma das funções mais essenciais que um servidor pode executar regularmente é a criação de um backup de dados e configurações do site. Não há praticamente nenhuma maneira de automatizar esse processo sem um trabalho Cron e, devido à natureza da Internet e a todos os visitantes mal-intencionados que passam por um site diariamente, a falha em automatizar esse processo diariamente ou semanalmente pode resultar em e perda de dados catastrófica.

Acima e além disso, no entanto, há várias tarefas que devem ser automatizadas usando o processo de trabalho do Cron. Essas tarefas incluem a limpeza de caches de sites que podem exibir imagens desatualizadas ou conteúdo impresso para os visitantes do site; Ele também inclui a exclusão de arquivos antigos, a limpeza de diretórios e imagens antigos e a garantia de que tudo armazenado no disco rígido de um servidor seja atual e não corrompido.

Assim como um computador pessoal saudável programa automaticamente a manutenção do disco, antivirus e varreduras de malware, atualizações de software e exclusões de arquivos, um servidor íntegro deve ser configurado para cuidar de si mesmo e permanecer em boas condições. Caso contrário, ele se tornará vulnerável a travamentos, tentativas de hackers e perda de dados que levarão à perda de lucros, publicidade, criação de conteúdo e até mesmo ao status de classificação do mecanismo de pesquisa.

Fácil de aprender e mais fácil de implantar

Criar um trabalho Cron dentro de uma guia Cron padrão é uma das coisas mais fáceis que um administrador de servidor pode fazer.

O processo está dentro da linha de comando padrão e divide cada segmento de tempo em um código de dois dígitos.

Como não requer conhecimento adicional de nenhuma nova linguagem de programação para automatizar tarefas, o serviço se baseia essencialmente na programação e no servidor existentes operaconhecimento de ções que um administrador já possui. Sendo este o caso, simplesmente não há razão para não começar a automatizar as funções essenciais do servidor e garantir a integridade dos dados do site e operações.

Foto do autor

Artigo escrito por Jerry Low

Continue lendo