Ao executar ambientes Linux, é comum que seja necessário agendar certas tarefas a qualquer momento para realizar tarefas de suporte, gestão ou controle.
Dois dos comandos mais usados para este propósito são cron e anacron que foram desenvolvidos com o objetivo de facilitar a programação dessas tarefas de forma simples e prática.
Dois dos parâmetros mais usados, junto com esses dois, são at e batch para agendar tarefas em um horário específico. Neste caso, usaremos o Ubuntu 17.04 Server.
1. O que é Cron
Cron é um Daemon que podemos usar para realizar tarefas agendadas como backups de diretório, backups de sistema, instalação de atualizações e é ideal para computadores que funcionam periodicamente como servidores.
Ao usar o cron, as tarefas são criadas em arquivos crontab que são scripts que definem a tarefa a ser executada e o caminho padrão é / etc / crontab onde, ao acessar com um editor, veremos as respectivas tarefas com sua frequência de execução:
PROLONGAR
Mas ao usar o crontab, podemos, como usuários, criar nosso próprio arquivo de tarefas agendadas, para isso executamos a seguinte linha:
crontab -eAo executar este comando, podemos selecionar até cinco opções do editor para abrir o novo arquivo a ser criado (neste caso, selecionamos a opção 2 nano) e veremos o seguinte:
PROLONGAR
Aí será simplesmente necessário registrar os dados da tarefa a ser executada.
2. Como instalar o Anacron
Para este estudo vamos nos concentrar no Anacron que funciona de forma diferente do Cron, pois permite a execução de tarefas em computadores que são usados regularmente e não devem estar ativos 24 X 7 como servidores.
Com o Anacron poderemos realizar tarefas com períodos diários, semanais e mensais em computadores como laptops ou desktops atribuídos às máquinas clientes e é útil porque se no momento em que o script deve ser executado o equipamento não está disponível logo, o script será executado sem afetar seu desempenho ou disponibilidade.
Para instalar e obter o máximo do Anacron, executaremos o seguinte comando:
sudo apt install anacronObservaçãoNas edições anteriores ao Ubuntu 17.04, executaremos o seguinte comando:
sudo apt-get install anacron
PROLONGAR
3. Como usar o Anacron
Passo 1
Os parâmetros de configuração estão alojados no caminho / etc / anacrontab e a sintaxe a ser usada compreende os seguintes campos:
comando identificador de trabalho de atraso de períodoObservaçãoTodos os comentários no Anacron devem começar com o símbolo #.
Passo 2
Ao acessar a rota indicada veremos o seguinte:
PROLONGAR
etapa 3
Os valores a serem usados são:
- Período: Indique a frequência com que a tarefa em questão será realizada usando parâmetros como @daily (diário), @weekly (semanal) ou @monthly (mensal), mas também podemos usar os parâmetros 1 - diário, 7 - semanal, 30 - mensal e N - número de dias em que a tarefa será realizada.
- Atraso: Refere-se ao número de minutos antes que a tarefa seja executada.
- Identificador de trabalho: Indica o nome que daremos à tarefa.
- Comando: Refere-se ao comando ou script a ser executado.
Passo 4
Para conhecer a estrutura podemos executar a seguinte linha:
ls -l / var / spool / anacron /
PROLONGAR
Etapa 5
Basicamente o Anacron verifica se uma tarefa foi executada dentro do período inicial estipulado, caso contrário, segue para executar o que indicamos no campo comando depois de ter esperado o número de minutos indicado no campo atraso.
Uma vez executada a tarefa, ela será registrada no caminho / var / spool / anacron com sua respectiva data e hora.
Por exemplo, podemos adicionar a seguinte linha no arquivo anacrontab Para agendar um trabalho de backup diário com um atraso de 8 minutos:
@daily 8 solvetic.daily / bin / bash /home/solvetic/bin/backup.sh
PROLONGAR
Etapa 6
Neste caso, se no momento da realização da tarefa de backup a máquina estiver desligada, na próxima vez que for iniciada irá aguardar 8 minutos e realizar a tarefa indicada sem aguardar o dia seguinte, etc. Dentro do arquivo anacrontab, devemos considerar dois aspectos fundamentais:
START_HOURS_RANGEIndica o intervalo de tempo no qual a tarefa será executada.
RANDOM_DELAY Permite definir o atraso máximo aleatório adicionado ao atraso que definimos no campo atraso, este valor padrão é 45.
4. Diferença entre Cron e Anacron
Há uma série de diferenças entre esses dois utilitários que mencionamos a seguir:
Com isso podemos decidir qual é a melhor alternativa para agendar determinadas tarefas de backup em ambientes Linux.