Um guia para iniciantes para Crontab no CentOS

Um guia para iniciantes para Crontab no CentOS

O "Cron”Daemon é um aplicativo Linux integrado que os usuários do Linux utilizam para agendar a execução de processos. Cron pesquisa o “Tabelas Cron" ou "Crontab”Para os arquivos e scripts específicos. O arquivo Crontab fornece um conjunto de comandos que você pode executar regularmente. Ele também fornece os nomes dos comandos utilizados para gerenciar a lista de comando. Crontab Também faz uso do Cronjob Scheduler para realizar operações. De acordo com um conjunto de instruções, Cron é uma função do sistema que fará ou executará processos para você. Crontab é o nome do cronograma, bem como o utilitário usado para essas modificações.

Neste post, abordaremos os seguintes pontos relacionados a Crontab:

  1. História
  2. Versões modernas de Cron
  3. O que é um Cronjob?
  4. Por que usar Cronjob?
  5. Elementos Cronjob
  6. Crontab trabalhando
  7. Uso de Crontab
  8. Sintaxe de Crontab
  9. Caracteres especiais em expressão
  10. Strings especiais de Cron
  11. Variável de ambiente
  12. Variável Crontab
  13. Opções de comando Crontab
  14. Instalando Cron no CentOS
  15. Crontab Scheduler: em todo o sistema
  16. Acesso Cron
  17. Crontab Management
  18. 14 exemplos de Cronjob
  19. Criando Cronjob para usuário específico
  20. Listando Cronjobs
  21. Criando backup de Cronjobs
  22. Removendo cronjobs
  23. Gerenciamento de saída Cronjob
  24. Limites de Cronjob
  25. Lidar com erros de Cronjob
  26. Geradores de sintaxe para Crontab
  27. Front-end-end de Crontab

Então, vamos em direção a esta jornada!

História:

Quando o sistema operacional permitiu o modo multiusuário para seus usuários, o serviço do sistema CRON foi chamado de “/etc/rc““. Seu algoritmo consiste nas seguintes etapas:

  1. Leia o "/usr/lib/crontab”Diretório.
  2. Verifique se os comandos são executados no horário e data atuais e execute os comandos como root, o superusuário.
  3. Tome um sono de um minuto.
  4. Repita a etapa 1 desde o início.

Esta versão de Cron era confiável e direto, mas usava recursos, independentemente de ter algum trabalho para fazer. Durante um experimento no final da década de 1970 na Universidade de Purdue, descobriu-se que um VAX estendendo a VAX compartilhado Serviço de Cron Para todos os 100 usuários, pressionaram demais o sistema.

Versões modernas de Cron:

Novos Crons apareceram com a introdução do projeto Linux e GNU. O "Vixie Cron”, Criado por Paul Vixie em 1987, é o cron mais comum por aí. O Vixie Cron A versão 3 foi introduzida no último trimestre de 1993. Em janeiro de 2004, o ISC Cron foi renomeado para a versão 4.1. A maioria das distribuições de BSD e Linux usa a versão 3, que possui algumas correções menores de bugs. Em 2007, Red Hat separou Vixie-Cron 4.1 e Anacron 2.3 foi adicionado em 2009. Anacron e Dcron são duas outras implementações proeminentes. Anacron não é um programa cron independente. Deve ser chamado por outro cronjob. Matt Dillon, o fundador da Dragonfly BSD, criou Dcron e Jim Pryor assumiu sua manutenção em 2010.

Dale Mellor criou McRon, uma versão Cron baseada em bruxo que é compatível com Vixie Cron, em 2003. Também permite maior flexibilidade, incluindo qualquer código de esquema nas descrições de tarefas e agenda de cálculos. McRon é instalado por padrão sob o gerenciamento de pacotes Guix. Ele também garante que os pacotes necessários sejam instalados e que os crontabs relevantes se referam corretamente a eles. Onde as implementações do CRON não são acessíveis em um ambiente de hospedagem na web, uma solução Webcron define tarefas para executar regularmente.

O que é um Cronjob?

Cron é uma ferramenta que permite agendar tarefas para execução posterior. Você pode usar outro comando se quiser planejar um trabalho único para uma data posterior. Ao mesmo tempo, Cron é ideal para tarefas recorrentes.

Você pode estar familiarizado com os processos em segundo plano no Windows, como serviços. Cron é um daemon que executa sua funcionalidade executando as tarefas em segundo plano. Em um estado ocioso, o daemon espera para realizar uma tarefa do sistema de trabalho ou de outro sistema baseado em Linux presente na rede. Falando sobre a estrutura do arquivo CRON, temos um arquivo cron, um arquivo de texto simples que inclui comandos que serão executados no horário programado. O "/etc/crontab”É o arquivo Crontab padrão do sistema, que existe no seguinte diretório Crontab:“/etc/cron.*/”. Os administradores do sistema podem modificar o arquivo crontab do sistema.

Os sistemas operacionais baseados em Linux suportam vários usuários. Cada um deles pode criar seu arquivo crontab e adicionar comandos para executar tarefas sempre que desejar. Um daemon cron verificará o arquivo crontab e depois executará o trabalho em segundo plano. Você também pode utilizar Cronjobs para criar backups, monitoramento do espaço do disco e automatizar a manutenção do sistema. As tarefas de Cron são ideais para uma máquina que executa sete dias por semana, 24 horas por dia. Enquanto os administradores do sistema usam principalmente tarefas CRON, eles também podem ser extremamente valiosos para desenvolvedores da Web.

Por que usar Cronjob?

  • Cronjobs ajudam a arquivar tabelas de banco de dados.
  • Exclua todos os arquivos de log com mais de um ano.
  • Envia notificações por e -mail, como avisos de expiração de senha e boletins informativos.
  • Auxilia o sistema operacional a receber um backup programado de bancos de dados e arquivos de log.
  • Limpeza de dados em cache regularmente.
  • É utilizado para automatizar a manutenção do sistema.
  • É uma tremenda ferramenta usada para automatizar tarefas do Unix.

Elementos Cronjob:

A maioria dos cronjobs tem três partes:

  • O comando que é utilizado para executar um script.
  • O roteiro isso será executado.
  • O saída de execução do script.

A maioria dos programas que precisam do uso de um Cronjob fornecerá instruções detalhadas sobre como configurá -lo.

O arquivo Crontab:

Uma linha de arquivo crontab é "inativa" ou "ativa". Uma linha "ativa" é uma entrada de comando cron ou um parâmetro de ambiente. Qualquer linha que seja ignorada, incluindo comentários, é considerada "inativa". Guias, espaços principais e linhas em branco não são levadas em consideração. Linhas com o sinal "#" como o primeiro personagem não espacial é lido como comentários e ignorado. No ambiente, configurações variáveis ​​ou comandos CRON, os comandos não podem existir nas mesmas linhas, porque se você fizer isso, os comentários se tornam parte do comando cron.

Crontab funcionando:

Crontabs pode ser encontrado no diretório local, como em “/var/spool" ou "/var/spool/cron/crontabs”, Que é o seu subdiretório. Mesmo que estejam presentes em qualquer um desses locais, use o comando Crontab para realizar a tarefa de editá -los. Vamos descobrir quais componentes são necessários antes que você possa esperar os resultados desejados das ações Crontab. A entrada no Crontab deve estar presente no primeiro comando. Os cinco parâmetros indicam seu tempo de execução e se deve ser executado ou não. O Crontab pode ser editado primeiro, inserindo o modo de edição com o comando “Crontab -e““. Depois de dar tempo como entrada, o Crontab está pronto para ser executado no horário especificado.

O daemon cron auxilia na execução das verificações necessárias para que o comando Crontab possa ser executado nessa instância. A cada minuto, o daemon Crontab verifica o Crontab. Como resultado, este Crontab contém informações até o minuto. Após a realização do cheque, o comando associado é executado com os campos no Crontab que corresponde à hora atual.

Situações como "falta de horário" durante o horário de verão devem ser evitadas porque o comando pode nem ser executado uma vez. Por outro lado, se ocorrer o tempo mais de uma vez, o comando pode até executar duas vezes. Outro exemplo é que um hífen “-” pode realizar o Cronjob várias vezes ao longo do dia. Por exemplo, se alguém deseja realizar um cronjob na 10ª e 11ª hora do dia, o comando 10-11 pode ser usado. Outro aspecto crítico da execução de Cronjobs é as configurações para permitir que os trabalhos funcionem. Permitir ou negar um usuário para executar Cronjobs pode ser realizado fazendo algumas mudanças no Cron.permitir ou cron.negar arquivos.

Uso de Crontab:

O Linux System Pack incluiu "Crontab" para agendamento de empregos. Consequentemente, a execução de um script como root facilita a manutenção do sistema. É tão simples quanto mudar o Cronjob e, depois disso, aguarde o processo de reinicialização.

Sintaxe do Crontab:

A sintaxe do Crontab compreende seis campos nos quais os cinco primeiros campos estão relacionados à data e hora da execução. Cada campo em um arquivo crontab existe na seguinte ordem:

(s) minuto (s) hora (s) dia (s) Mês (s) da semana (s) comando (s) (s) (s) comando (s)
  • minuto: Seu valor está entre o intervalo 0-59. A opção de minuto define o minuto exato que o comando crontab executa.
  • hora: Seu valor está entre o intervalo de 0-23. A opção de hora define o dia em que o comando crontab é executado.
  • dia: Seu valor está entre a faixa 1-31. A opção do dia especifica o dia em que o comando Crontab executa.
  • mês: Seu valor está entre a faixa 1-12 ou janeiro-dezembro. A opção do mês determina o mês do ano em que o comando Crontab executa.
  • Dia da semana: Seu valor está entre o intervalo 0-6 ou o Sol-SAT. As opções do dia da semana definem o dia da semana que o comando Crontab executa.
  • comando: A opção de comando estabelece a sequência dos comandos que serão executados.

Confira a seguinte sintaxe do comando crontab:

***** /pathtoscript
  • Especifique o intervalo: Use hífen “-” para definir um intervalo específico: 30-50, 40-100 ou na terça-sexro, julho-dezembro.
  • Para fins correspondentes, Utilize asteriscos (*).
  • Defina vários intervalos: Os usuários podem definir vários campos que um comando pode separar, como dece-maio ​​ou feb-setion.

Caracteres especiais em expressão:

  • ““?"É usado para representar" qualquer "nos campos a seguir: <Dia da semana> e por denotar qualquer valor arbitrário e ignorar o valor do campo. Por exemplo, podemos entrar em um “?" no parâmetro para executar um script no “7 de cada mês”, Independentemente do dia da semana naquele dia.
  • ““*”É usado para indicar tudo ou que o evento deve ocorrer para uma unidade de tempo. Por exemplo, no campo, “*”Significa para cada minuto.
  • ““-"Representa o" alcance ". Por exemplo, quando usamos o “-”Entre as horas de 9 a 12, significa“ 9, 10, 11 e 12 horas ”.
  • Os valores incrementais são especificados usando o símbolo "/" incremental. Por exemplo, no campo minuto, um "10/10" implica "10, 20, 30, 40 e 50 minutos de uma hora”.
  • ““," ou "Vírgula”Fornece uma gama de valores. Por exemplo, "Terça -feira, sábado”Significa“Terça, quinta, sábado““.
  • Quando empregado em diversos campos, a carta “eu”(Last) tem vários significados. De acordo com o mês civil, se for utilizado em campo como "31 de março", implica o último dia de março. Usando um valor de deslocamento com ele, como “L-2“, Significa o segundo para o último dia do mês.
  • O dia mais próximo da semana (de segunda a sexta -feira) até um determinado dia do mês é determinado por “C”(Dia da semana). Se colocarmos "4W" no campo, ele significa "dia da semana perto do 4º daquele mês".
  • ““#"Indica o"N-ThOcorrência durante a semana em um mês; por exemplo, "Segunda sexta -feira de fevereiro" seria "2#2”.

Strings especiais de Cron

O daemon Cron tem alguns atalhos que facilitam as definições de trabalho.

Essas palavras têm um significado preciso, e você pode utilizá -las na sintaxe em vez da especificação de 5 da coluna da coluna. A seguir, alguns dos atalhos de Cron:

@Hourly: É o mesmo que “0 * * * *”E executa o comando no início de cada hora.

@diário: É o mesmo que “0 0 * * *”E executa o comando uma vez por dia, às 12 A.m. (meia-noite).

@semanalmente: É o mesmo que “0 0 * * 0”E dirige o comando toda semana no domingo à meia -noite.

@por mês: É o mesmo que “0 0 1 * *”E executa o comando às 12 A.m. (meia -noite) o primeiro dia de todos os meses.

@anual: É o mesmo que “0 0 1 1 *”E administra o comando uma vez por ano em 1º de janeiro à meia -noite.

@reinício: Toda vez que o sistema é reiniciado, este comando será executado.

Variável de ambiente:

Quando Cron executa um emprego, um ambiente que define uma linha no crontab pode definir variáveis ​​de ambiente.

No Crontab, uma configuração de ambiente pode ser adicionada como:

nome = valor

Os espaços são opcionais em torno de “valor”. Além.

Cron define algumas variáveis ​​de ambiente para você automaticamente:

  • O CONCHA A variável está definida como “/bin/sh”.
  • O diretório do proprietário de Crontab “/etc/passwd”A linha é usada para definir Home e LogName. Concha e casa pode ser modificado em tempo de execução utilizando configurações de crontab, mas não podemos fazer o mesmo com LogName.
  • Às vezes a variável LogName é conhecido como "DO UTILIZADOR”Nos sistemas BSD. Também temos que definir o “DO UTILIZADOR”Configuração.

Variáveis ​​Crontab:

Algumas das variáveis ​​cron mais usadas estão listadas abaixo:

  • CAMINHO: É uma lista de diretórios que serão pesquisados ​​por Cron.
  • Mailto: Especificar quem recebe a saída de cada comando por e -mail.
  • LAR: O diretório inicial do usuário conectado.
  • LogName: O nome do usuário atual.
  • Lang: As configurações atuais do local
  • EDITOR: O editor padrão para arquivos.
  • CORRESPONDÊNCIA: O local de armazenamento de correio do usuário atual.
  • PRAZO: A emulação atual de um terminal.
  • DO UTILIZADOR: O usuário atual que está atualmente conectado.
  • CONCHA: A rota do shell do usuário atual, como o Bash.

Opções de comando Crontab:

  • -u [usuário]: Esta opção o ajudará a definir o usuário.
  • -n [host]: Defina qualquer host no cluster para executar o Crontabs dos usuários usando a opção "-n".
  • -x [máscara]: Utilize a opção "-x" para ativar a depuração.
  • -e: Esta opção é utilizada para editar Crontab do usuário.
  • -r: Para excluir o Crontab de um usuário, utilize a opção "-r".
  • -eu: Para listar o Crontab do usuário, escreva o "-l" no comando Crontab.
  • -C: Para fazer com que o host do cluster execute o Crontabs dos usuários e utilize a opção "-C"
  • -eu: Para solicitar antes da exclusão, a opção "-i" é utilizada.
  • -s: Confira o contexto do Selinux usando a opção "-s".

Instalando Cron no CentOS:

Por padrão, Cron está incluído no CentOS 8. Por alguma razão, se você ainda não o possui, instale -o no seu sistema:

$ sudo dnf install cron
$ sudo systemctl atabille -agora crond.serviço
$ sudo Systemctl Status Crond

Crontab Scheduler: em todo o sistema

Regularmente, a maioria dos serviços usa Crontab. Os Serviços usam suas configurações de Crontab Scheduler diretamente para o “/etc/cron.d”Diretório. Depois disso, o agendador executará automaticamente os arquivos presentes neste diretório. A seguir, estão as pastas pré-configuradas de Crontab: “/Etc/cron.horário ”,“/etc/cron.diariamente ","/etc/cron.semanalmente ”e“/etc/cron.por mês". Os administradores do Linux têm controle total sobre esses diretórios. Ao mesmo tempo, o agendador atravessa e executa esses arquivos crontab regularmente. Além disso, se os usuários de root desejarem executar algo, por exemplo, ele deseja executar um script específico todos os dias, ele colocará o arquivo dentro do “/etc/cron.diário”Diretório.

Acesso Cron:

Você pode atribuir o controle sobre a execução de qualquer arquivo usando Cron. Avalie essa funcionalidade utilizando os seguintes arquivos:

/etc/cron.permitir: Permitir

/etc/cron.negar: Negar

Coisas a ter em mente:

  • Somente o usuário root pode usar o CRON se os dois arquivos dos arquivos mencionados acima estiverem ausentes.
  • Usando Cron, adicione o nome antes do arquivo, se você deseja negar ou permitir um nome de arquivo específico.
  • Adicione a linha tudo antes do Cron.negar o arquivo se você não quiser que nenhum outro usuário use Cron.
  • Se nada estiver escrito no Cron.Deny File, todos os usuários podem trabalhar com Cron.
  • Se um nome de usuário aparecer em ambos os arquivos: Cron.Permitir, Cron.negar, então esse usuário ainda pode usar Cron.
  • Suponha que um usuário seja mencionado em Cron.negar, mas não existe cron.Permitir arquivo sobre isso; Então todos os usuários podem usar Cron, exceto o especificado.

Crontab Management:

Como discutimos Crontab anteriormente, é um arquivo específico que contém o cronograma de empregos executado por Cron. Por outro lado, esses trabalhos não devem ser editados diretamente. O comando crontab é recomendado para esse fim. O comando Crontab permite que você edite o crontab relacionado ao seu perfil de usuário sem a necessidade de alterar seus privilégios. Este comando também notificará você sobre os erros presentes no Crontab, o que não seria possível se editado diretamente. Utilize o seguinte comando para editar seu crontab:

$ CRONTAB -E

Nos sistemas Linux, “/ etc/ diretório”Contém outro arquivo Crontab. Sob o local mencionado, existe um crontab em todo. Utilize o seguinte comando para alterar o Crontab em todo o sistema:

$ sudo nano /etc /crontab

O outro método mais fácil de acessar e editar o arquivo Crontab está utilizando o “Nano" editor. Fazer "Nano”Seu editor padrão seguindo estas etapas:

$ nano ~//.Bash_profile

Adicione a seguinte linha no início do arquivo aberto:

exportar visual = "nano"

Salve a linha adicionada na “ ~/.Bash_profile”E saia. Depois disso, recarregue o “~/.Bash_profile" arquivo.

$ . ~/.Bash_profile

Agora, escreva este comando para adicionar Cronjobs:

$ CRONTAB -E

Este é o arquivo Crontab, onde salvaremos todos os nossos Cronjobs:

Para visualizar o conteúdo do arquivo Crontab, utilize o seguinte comando:

$ CRONTAB -L

Observação: Atualmente, não adicionamos nenhum Cronjob no arquivo Crontab para imprimir nada.

Para remover os cronjobs agendados no arquivo Crontab, escreva este comando:

$ CRONTAB -R

14 Exemplos de Cronjob:

Exemplo 1: Execução de Cronjob Após a cada 50 minutos

O seguinte comando Crontab executará o “atualizadob”Após a cada 50 minutos:

50 * * * * atualizadoBB

Exemplo 2: Execução de Cronjob em tempo e meses especificados

Exemplo de Crontab para executar /usr/local/bin/testscript.sh às 8:00 p.m. Em 20 de janeiro, fevereiro, março e abril:

00 08 20 1,2,3,4 */usr/local/bin/testscript.sh

Exemplo 3: Execução de Cronjob a cada sexta -feira 1 p.m.

O comando abaixo do goleiro permitirá que o sistema execute o “testscript.sh”Toda sexta -feira, 1 p.m.:

0 01 * * sex /scripts /testscript.sh

Exemplo 4: Execução de Cronjob a cada minuto

Para executar um script específico após cada minuto, consulte a sintaxe deste comando:

* * * * * /scripts /testscript.sh

Exemplo 5: Execução de Cronjob em dias especificados

Abaixo está um exemplo que o ajudará se você quiser agendar um Cronjob a ser executado em dias específicos. Este exemplo vai executar o “testscript.sh”Na segunda e quarta -feira às 2 p.m.:

0 02 * * seg, wed /script /testscript.sh

Exemplo 6: Execução de Cronjob na primeira segunda -feira de cada mês

O parâmetro de tempo não é suficiente para definir neste exemplo. Utilizaremos uma condição para especificar que o script específico deve ser executado na primeira segunda -feira de meses:

0 2 * * seg [$ (data +%d) -le 07] && /script /testscript.sh

Exemplo 7: Execução de Cronjob a cada 10 segundos

Novamente, especificaremos uma condição para executar o Cronjob a cada 10 segundos:

* * * * * /scripts /script.sh
* * * * * Sono 10; /scripts/script.sh

Exemplo 8: Execução de Cronjob para várias tarefas

Use (;) para configurar Cron para executar vários comandos da seguinte maneira:

* * * * * /scripts /testscript1.sh; /scripts/testscript2.sh

Exemplo 9: Execução de Cronjob no início de cada ano usando "@yearly"

Executar uma tarefa no primeiro minuto de um novo ano é útil no caso em que você deve enviar desejos de ano novo para alguém.““0 0 1 1 *"É semelhante ao registro de data e hora"@anual“:

@Yearly /scripts /testscript.sh

Exemplo 10: Execução de Cronjob no início de cada mês usando "@montly"

Você pode usar o “@por mês”Timestamp para executar as tarefas mensais, como faturamento para clientes e contas de pagamento:

@montly /scripts /testscript.sh

Exemplo 11: Execução de Cronjob no início de cada semana usando “@Weekly”

Executar qualquer tarefa no início da semana, como limpeza do sistema usando o “@semanalmente”Timestamp. ““semanalmente" é equivalente a "0 0 * * seg”:

@Weekly /bin /testscript.sh

Exemplo 12: Execução de Cronjob no início de cada mês usando "@Daily"

““@diário"Timestamp é equivalente a"0 0 * * *”. É usado para executar o diário baseado em tarefas:

@Daily /Scripts /Script.sh

Exemplo 13: Execução de Cronjob no início de cada hora usando “@hourly”

““@Hourly"Timestamp é equivalente a"0 * * * *”. Você pode utilizar este registro de data e hora para executar tarefas horárias:

@hourly /scripts /testscript.sh

Exemplo 14: Execução de Cronjob para reinicialização do sistema

““@reinício”É útil para ações que você deseja executar sempre que o sistema botas. É útil para lançar automaticamente tarefas em segundo plano. Este tipo de cronjob é usado para agendar os scripts de inicialização.

@reboot /scripts /testscript.sh

Criando Cronjob para usuário específico

Para agendar um Cronjob para um usuário em particular, especifique seu nome da seguinte maneira:

***** nome de usuário /path_to_script

Agora, vamos conferir um exemplo rápido:

50 * * * * Linuxhint atualizadob

Este comando executará o “atualizadob”Após a cada 50 minutos para o“Linuxhint" do utilizador.

Listando Cronjobs:

Use este comando para listar os cronjobs programados em seu sistema:

$ CRONTAB -L

Criando backup de Cronjobs:

Para criar um backup dos cronjobs programados, utilize este comando:

$ CRONTAB -L> CRON -BACKUP.TXT

Verifique o conteúdo do “Cron-backup.TXT”Para garantir que os cronjobs sejam backup ou não:

$ cat cron-backup.TXT

Remova Cronjobs:

Método 1: sem prompt

O "Crontab -r”O comando é usado para remover Cronjobs:

$ CRONTAB -R

Método 2: com rápido

A execução do comando a seguir mostrará um aviso antes de excluir o Crontab:

$ CRONTAB -I -R

Gerenciamento de saída Cronjob:

Como mencionamos na introdução de Cronjob, esses trabalhos operam em segundo plano. Essa é a razão pela qual nem sempre é aparente se eles concluíram a tarefa com sucesso ou não. Neste ponto, você tem algum entendimento relacionado à programação de Cronjob e seu uso. Agora, você pode experimentar várias maneiras de redirecionamento dos cronjobs. Este redirecionamento o ajudará a rastrear a funcionalidade dos Cronjobs.

Por exemplo, você pode enviar a saída de Cronjobs para o endereço de e -mail associado ao seu perfil de usuário Linux se você tiver um agente de transferência de correio instalado e configurado no seu servidor, como “Enviar correio”. Em comparação, um “Mailto”A configuração no topo do crontab também pode ser utilizada para fornecer endereços de e -mail manualmente. Adicione as seguintes linhas ao seu arquivo Crontab, no qual temos um “Mailto”Declaração seguida pelo meu endereço de e -mail, uma diretiva doméstica que se refere ao diretório onde o binário Cron deve ser encontrado, uma única tarefa de cron e um CONCHA Diretiva indicando o shell a ser executado, que é bash em nosso caso.

Mailto = "[email protected] "
Shell =/Bin/Bash
Home =//
50 * * * * Linuxhint atualizadob
* * * * * eco 'execute este comando a cada 50 minutos'

Esta tarefa retornará a mensagem "Execute este comando a cada 50 minutos““. A saída será enviada por e -mail para o endereço de email especificado presente no “MailtoDiretiva. Para evitar receber um email com o resultado, você pode redirecionar a saída da tarefa Cron para um local vazio ou arquivo de log.

Para enviar a saída de um comando agendado para um arquivo de log: Anexar >> até o final do comando, com o nome e o caminho do diretório que contém o arquivo de log, como mostrado abaixo:

* * * * * eco 'execute este comando a cada 50 minutos' >>/diretório/caminho/arquivo/arquivo.registro

Criamos um arquivo de log de amostra para esse fim, por isso escreveremos este comando da seguinte maneira:

* * * * * ECHO 'Execute este comando a cada 50 minutos' >> /testFile /Samplefile.registro

Limites de Cronjob:

Servidor dedicado e VPS: Nesse caso, não existe restrição a tempo da execução de Cronjob.

Compartilhado e revendedor: Um cronjob pode não ser executado mais de uma vez a cada 15 minutos.

Manuseando erros de Cronjob:

Método 1: Usando /dev /nulo

Em vez de receber um alerta de e -mail, você pode enviar facilmente nossos erros de Cronjob e fazer login para dev/null. Tudo o que enviamos ou escrevemos para dev/null é descartado.

* * * * * cd /home /linuxhint && /bin /bash shell-testscript.sh> /dev /null 2> & 1
  • O "> /dev /nullParte do comando instrui Cron a redirecionar a saída padrão (stdout) para /dev /null.
  • O descritor de arquivo “2”É para erro padrão (stderr), enquanto o descritor de arquivos da Standard Out é“ 1 ”.

Método 2: enviando saída para um arquivo específico

É um método popular, e a maioria dos usuários prefere este método. Neste método, você deve criar um arquivo para salvar os logs Cronjob. Se o trabalho for concluído com sucesso, ele imprimirá a saída; Caso contrário, ele imprimirá um erro.

Criamos um arquivo de log de amostra para esse fim, por isso escreveremos este comando da seguinte maneira:

* * * * * cd /home /linuxhint && /bin /bash shell-testscript.SH >> Samplefile.registro

Aqui:

  • O "* * * *”Indica que uma tarefa será realizada a cada 50 minutos de cada hora, dia, toda semana e mês.
  • O caminho e o executável da Shell Bash é “/BIN/BASH”.
  • O diretório será alterado para “/Home/Linuxhint”, Que contém o testscript de shell.script sh.
  • O ">>”O símbolo anexa a saída a um arquivo criado anteriormente,“Samplefile.registro“, Enquanto um único símbolo substitui o arquivo.

Geradores de sintaxe para Crontab:

A partir da demonstração do exemplo, você pode determinar como é fácil agendar um cronjob. Às vezes, você não pode memorizar uma sintaxe de Cronjob particular. Para tornar o trabalho ainda mais gerenciável, poucos geradores de sintaxe baseados na Web para Cron estão lá para você. Agora, falaremos sobre alguns sites que geram expressões de Crontab. Essas expressões são baseadas em seus insumos. Basta copiar/colar a linha no arquivo Crontab do seu sistema depois de gerar a expressão de Crontab de acordo com o seu requisito.

Crontab Generator:

Crontab Generator é uma ferramenta baseada na Web que permite criar expressões de crontab mais rapidamente e sem esforço. Este site compreende um formulário com várias entradas.

O usuário precisa preencher todos os campos essenciais nos formulários. Nos campos, você pode selecionar o valor para o comando de sintaxe conforme o seu requisito:

Em seguida, esta ferramenta Crontab Generator emitirá um comando na seguinte seção destacada. Copie o comando gerado, cole -o no seu arquivo crontab e você terminou!

Crontab Guru:

Este site é personalizado para fornecer exemplos de amostras de cronjobs. Você só precisa inserir suas informações no site e elas gerarão sintaxe de Crontab em alguns minutos.

Cronmaker:

É outro site que também é construído com o objetivo de gerar sintaxe do comando cronjob:

Front-end-end de Crontab:

Alguns utilitários de front-end Crontab estão disponíveis para criar tarefas CRON usando uma interface gráfica do usuário. Para gerenciar ou adicionar tarefas CRON, não há necessidade de atualizar o arquivo Crontab da linha de comando. Essas ferramentas farão com que o gerenciamento de cronjobs seja uma brisa!

Zeit:

Zeit é um aplicativo de freeware criado na linguagem do computador C ++. Sob a licença GPLV3, o código fonte deste aplicativo é acessível no GitHub. É um "QT"Crontab" e "no“Comando front-end. Podemos utilizar o Zeit para as seguintes tarefas:

  • Para adicionar, modificar e remover os trabalhos de Crontab.
  • Para excluir, editar ou adicionar variáveis ​​de ambiente de Crontab.
  • Para definir alarmes e temporizadores.

Ui Crontab:

A UI Crontab é uma solução baseada na Web para gerenciar Cronjobs no Linux com facilidade e segurança. Você não precisa editar o arquivo Crontab manualmente para criar, excluir e gerenciar tarefas Cron. Com alguns cliques de mouse, você pode fazer tudo neste navegador da web. Crontab UI simplifica criar, editar, parar, remover e fazer backup de tarefas Cron. Ele também desempenha sua parte em importação, exportação e implantação de cronjobs para outras máquinas.

Conclusão:

Cron é uma ferramenta versátil e poderosa que pode ajudá -lo com uma variedade de tarefas de administração do sistema. Você pode automatizar operações que normalmente são complicadas com scripts de shell. Este artigo compreende um guia completo da Crontab for Beginners, que discutiu tudo, incluindo o trabalho de Crontab, seu uso, sua instalação no CentOS, exemplos de cronjobs de amostra e geradores de sintaxe de Crontab.