Cron vs Anacron como agendar empregos usando o Anacron no Linux

Cron vs Anacron como agendar empregos usando o Anacron no Linux

Neste artigo, explicaremos Cron e Anacron e também mostra como configurar o Anacron no Linux. Também abordaremos uma comparação desses dois utilitários.

Para agendar uma tarefa em determinado ou posterior horário, você pode usar o 'no' ou 'loteComandos e para configurar comandos para executar repetidamente, você pode empregar o Cron e Anacron instalações.

Cron - é um daemon usado para executar tarefas agendadas, como backups do sistema, atualizações e muito mais. É adequado para executar tarefas agendadas em máquinas que serão executadas continuamente 24x7, como servidores.

Os comandos/tarefas são roteirizados em trabalhos de Cron, que estão agendados em arquivos Crontab. O arquivo crontab do sistema padrão é /etc/crontab, Mas cada usuário também pode criar seu próprio arquivo Crontab que pode iniciar comandos às vezes que o usuário define.

Para criar um arquivo Crontab pessoal, basta digitar o seguinte:

$ CRONTAB -E 

Como configurar o Anacron no Linux

Anacron é usado para executar comandos periodicamente com uma frequência definida em dias. Funciona um pouco diferente de Cron; pressupõe que uma máquina não seja alimentada o tempo todo.

É apropriado para a execução diária, semanal e mensal, empregos normalmente administrados por Cron, em máquinas que não serão executadas 24-7, como laptops e máquinas de desktops.

Supondo que você tenha uma tarefa agendada (como um script de backup) ser executado usando Cron a cada meia -noite, possivelmente quando você está dormindo, e seu desktop/laptop está desligado nessa época. Seu script de backup não será executado.

No entanto, se você usar Anacron, Você pode ter certeza de que na próxima vez que você ligar no desktop/laptop novamente, o script de backup será executado.

Como o Anacron funciona no Linux

Os trabalhos de Anacron estão listados em /etc/anacrontab e os trabalhos podem ser agendados usando o formato abaixo (comentários dentro do arquivo anacrontab devem começar com #).

comando de identificador de trabalho de atraso no período 

Do formato acima:

  • período - Esta é a frequência de execução de emprego especificada em dias ou como @Daily, @Weekly ou @montly por uma vez por dia, semana ou mês. Você também pode usar números: 1 - diariamente, 7 - semanalmente, 30 - mensalmente e N - número de dias.
  • atraso - É o número de minutos para esperar antes de executar um emprego.
  • ID de trabalho - É o nome distinto do trabalho escrito em arquivos de log.

Para visualizar arquivos de exemplo, digite:

$ ls -l/var/spool/anacron/ Total 12 -rw ------- 1 raiz da raiz 9 de junho 10:25 cron.diariamente -rw ------- 1 raiz de raiz 9 de maio 27 11:01 cron.mensal -rw ------- 1 raiz de raiz 9 de 30 de maio 10:28 cron.semanalmente 
  • comando - É o comando ou script de shell a ser executado.
Isso é o que praticamente acontece:
  • Anacron verificará se um trabalho foi executado dentro do período especificado no campo do período. Caso contrário, ele executa o comando especificado no campo de comando depois de esperar o número de minutos especificados no campo de atraso.
  • Uma vez executado o trabalho, ele registra a data em um arquivo de data e hora no /var/spool/anacron Diretório com o nome especificado no campo Job-ID (Nome do arquivo Timestamp).

Vamos agora olhar para um exemplo. Isso vai executar o /home/aaronkilik/bin/backup.sh script todos os dias:

@Daily 10 Exemplo.diariamente/bin/bash/home/aaronkilik/bin/backup.sh 

Se a máquina estiver desligada quando o cópia de segurança.sh Espera -se que o trabalho seja executado, o Anacron o executará 10 minutos depois que a máquina é ligada sem ter que esperar por mais 7 dias.

Existem duas variáveis ​​importantes no arquivo anacrontab que você deve entender:

  • Start_hours_range - Isso define o intervalo de tempo em que os trabalhos serão iniciados (i.e executar empregos apenas durante as horas seguintes).
  • Random_delay - Isso define o atraso aleatório máximo adicionado ao atraso definido pelo usuário de um trabalho (por padrão, é 45).

É assim que seu arquivo anacrontab seria possivelmente.

Arquivo anacron - /etc /anacrontab
# /etc /anacrontab: arquivo de configuração para anacron # Veja Anacron (8) e Anacrontab (5) para obter detalhes. Shell =/bin/sh caminho =/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin home =/root logname = root # estes substituem as entradas de cron 1 5 Cron.Run-partes diárias-Report /etc /cron.diariamente 7 10 cron.Run-Parts semanais-Report /etc /Cron.Semanalmente @mês 15 cron.Run-Parts mensais-Report /etc /Cron.Mensalmente @Daily 10 Exemplo.diariamente/bin/bash/home/aaronkilik/bin/backup.sh 

A seguir é uma comparação de Cron e Anacron para ajudá -lo a entender quando usar qualquer um deles.

Cron Anacron
É um daemon Não é um daemon
Apropriado para máquinas de servidor Apropriado para máquinas de mesa/laptop
Permite que você execute empregos programados a cada minuto Apenas permite que você execute trabalhos programados diariamente
Não executou um trabalho programado quando a máquina se desligou Se a máquina se desligar, quando um trabalho programado for vencido, ele executará um trabalho programado quando a máquina estiver ligada na próxima vez
Pode ser usado por usuários normais e root Só pode ser usado por root, a menos que o contrário (ativado para usuários normais com configurações específicas)

A principal diferença entre Cron e Anacron é aquele Cron funciona efetivamente em máquinas que funcionarão continuamente enquanto Anacron destina -se a máquinas que serão desligadas em um dia ou semana.

Se você conhece outra maneira, compartilhe conosco usando o formulário de comentário abaixo.