Aprenda Linux

Como criar Cron Jobs no Linux

Como criar Cron Jobs no Linux

Um Cron ou Cron job é um agendador baseado em tempo comum em sistemas Linux / Unix. Ele agenda tarefas de usuário especificadas para serem executadas periodicamente em data, hora ou intervalos fixos. A maioria dessas tarefas são scripts para executar funções como backups e muito mais. Para criar esses cron jobs, usamos os comandos crontab. Um crontab é um comando / utilitário UNIX usado para criar e gerenciar tarefas cron.

Como você verá abaixo, criar e editar um cron job é bastante simples. A parte mais incrível é que você não precisa reiniciar o cron ou mesmo o seu PC depois de criar ou editar um cron job. Basta salvar o arquivo e você está pronto para ir.

Usos comuns de Cron Jobs

Partes básicas de um comando cron

A sintaxe padrão do crontab é a seguinte:

a b c d e NOME DE USUÁRIO / caminho / para / saída de script

1.A hora e a data, juntamente com o quão repetitivo o trabalho será, são especificados pelos cinco campos:

Nota: os dias começam na segunda-feira. 0 e 7 representam domingo

2. NOME DO USUÁRIO: Lembre-se de substituí-lo pelo seu nome de usuário

3. O local específico e o script a serem executados pelo cron são especificados pelo terceiro segmento:

/ caminho / para / script

4. A última seção define a notificação para o usuário após a conclusão do trabalho como uma forma de manter o controle das tarefas:

resultado

No entanto, sua caixa de entrada pode estar cheia de pequenas tarefas que são frequentemente canalizadas. Para evitar isso, você pode desativar a saída automática de e-mail adicionando a string abaixo ao seu comando cron:

> / dev / null 2> & 1 e.g a b c d e NOME DE USUÁRIO / caminho / para / script> / dev / null 2> & 1

Além disso, o cron usa mais quatro valores usados ​​na especificação de vários valores em um campo. Eles são:

Configurando os trabalhos do cron

Os comandos crontab são responsáveis ​​por criar e editar tarefas cron porque os arquivos cron não devem ser editados diretamente. O crontab define como você pode criar, editar, listar, depurar, instalar e desinstalar as tarefas cron.

Antes de começar a trabalhar com cron, é essencial garantir que seu Linux Desktop ou Servidor esteja atualizado executando os comandos abaixo:

sudo apt update sudo apt upgrade

Se você não tiver o pacote cron instalado em seu sistema, instale-o com o comando abaixo:

sudo apt-get install cron

Instale o cron

Como editar o arquivo crontab?

Para completar o processo, você terá que configurar o cron job. O usuário conectado quando um cron job é criado automaticamente se torna o proprietário. Isso pode ser alterado criando um proprietário de trabalho que será responsável por gerenciar o trabalho cron, como veremos neste post.

Para abrir o arquivo de configuração crontab para o usuário atualmente conectado, execute o comando abaixo:

crontab -e

O sistema solicitará que você escolha um editor adequado. No nosso caso, vamos escolher a primeira opção (editor nano).

crontab -e

Você pode adicionar uma tarefa agendada por linha de acordo com suas preferências.

arquivo crontab

Ao adicionar as tarefas, termine salvando o arquivo e saia. Todas as instruções fornecidas serão lidas e executadas pelo cron daemon. As alterações serão aplicadas mesmo sem reiniciar o sistema, pois o repositório é atualizado automaticamente.

Editar crontab para um usuário diferente

O Crontab pode ser editado para diferentes usuários usando um comando na sintaxe abaixo:

crontab -u other_username -e

Como usar caracteres especiais em comandos crontab

Personagens e operadores ditam mais personalização de seu sistema, pois estendem os recursos de uma tarefa cron.

0 6 * * 1-5 / root / backup.sh

Aqui, 06 representa 6h. 1-5 representa o número de dias (de segunda a sexta).

35 1-23 / 2 * * * / caminho / para / script / script.sh

1-23 especifica o intervalo de horas, / 2 define o intervalo a cada duas horas.

Opções de cron

Você pode querer listar os trabalhos do cron em seu sistema sem desbloquear o arquivo de configuração do crontab. Isso pode ser feito iniciando seu terminal e digitando o comando abaixo:

crontab -l

listar cron jobs

Esse comando lista todos os cron jobs presentes em seu sistema.

Para excluir todos os comandos crontab, você pode usar o comando abaixo:

crontab -r
crontab -r -u outro-nome de usuário

Use Strings no Crontab

Strings são ferramentas imensamente úteis para desenvolvedores, pois evitam a escrita repetitiva de segmentos de código. Felizmente, crontabs suportam vários valores de strings. Eles incluem:

@hourly: -igual a - “0 * * * *“ (Executa uma vez a cada hora)
@meia-noite:  -igual a - “0 0 * * *“ (Executa uma vez a cada dia)
@diariamente: mesmo que meia-noite
@semanalmente:  -o mesmo que - “0 0 * * 0“ (executa uma vez a cada semana)
@por mês: -igual a - “0 0 1 * *“ (Executa uma vez a cada mês)
@anualmente: -igual a - “0 0 1 1 *“ (Executa uma vez a cada ano)
@anual: semelhante a @anualmente
@reinício: Executado uma vez após cada reinicialização / reinicialização / inicialização.

Um bom exemplo; se você tiver um script de backup que deseja executar todos os dias, use o comando abaixo:

@daily / path / to / backup_script.sh

Exemplos de cron jobs

Aqui está uma lista de tarefas cron básicas que podem ser usadas ao começar:

    1. Para executar um script a cada minuto:
      * * * * * / seu / script / caminho.sh
    2. Para executar um script a cada 40 minutos:
      40 * * * * / seu / script / caminho.sh
    3. Para executar um script a cada hora:
      0 * * * * / seu / script / caminho.sh
    4. Para executar um script a cada meia-noite:
      0 0 * * * / seu / script / caminho.sh
    5. Para executar um script a cada 23 minutos após meia-noite, 2h e 4h todos os dias:
      23 0-23 / 2 * * * / seu / script / caminho.sh
    6. Para executar um script em 4.05 todos os domingos.
      5 4 * * sun / your / script / path.sh
    7. Para executar um script às 22h durante a semana.
      0 22 * ​​* 1-5 / seu / script / caminho.sh
    8. Para executar um script em 1º de dezembro - meia-noite.
      0 0 0 12 * / seu / script / caminho.sh
    9. Para executar um script no sábado à meia-noite.
      0 0 * * 6 / seu / script / caminho.sh
    10. Para executar um script a cada hora.
      0 * * * * / seu / script / caminho.sh

Com esses exemplos básicos, você obterá uma compreensão mais profunda da sequência e como ela pode ser modificada.

Limitando o acesso do Cron

Vemos que os cron jobs podem ser muito úteis, especialmente quando você deseja automatizar suas tarefas. No entanto, também pode ser arriscado se o sistema permitir que qualquer usuário crie um cron job. Mesmo que não afete os dados pessoais, alguns cron jobs podem consumir uma boa quantidade de recursos do sistema, atrasando o PC. Para evitar tais cenários, o administrador do sistema (usuário root) pode criar um / etc / cron.permitir  ou / etc / cron.negar o arquivo que contém apenas usuários que podem 'criar / não criar' um cron job.

O / etc / cron.permitir o arquivo contém usuários que podem criar, editar, exibir ou remover arquivos crontab. Se este arquivo não existir, todos os usuários podem criar e gerenciar tarefas cron, exceto aquelas no / etc / cron.negar Arquivo. Se nenhum desses arquivos estiver presente, os privilégios de superusuário são necessários para executar o comando crontab.

arquivo de permissão cron

Agora que você evitou que usuários não-root criassem tarefas cron, se já tivessem alguma, você pode considerar a adição de suas tarefas cron no arquivo crontab root. Mas aqui está um quebra-cabeça - ao adicionar seus cron jobs ao crontab root, isso não executa seus cron jobs como root? Bem, aqui vem a importância do campo USERNAME que discutimos acima na sintaxe do comando cron. Por exemplo, o comando abaixo:

0 * * * * fosslinux / caminho / para / script.sh

Será executado como trabalho cron "fosslinux" do usuário e não como usuário root.

Conclusão

Agora você tem um guia claro sobre o uso de tarefas Cron para automatizar várias tarefas em seu sistema. Isso não deve confundi-lo com aplicativos de inicialização. Use os exemplos acima para tentar automatizar scripts simples. Com o tempo, você pode combinar caracteres especiais e curingas para realizar tarefas muito mais mundanas. Se você está apenas começando, seria ótimo ler nosso post sobre o tutorial de script bash com exemplos que o ajudarão a criar seu primeiro script.

Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...
5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...