Editado 5 meses atrás por ExtremeHow Equipe Editorial
CronUbuntuAutomaçãoLinuxAgendamentoSistemas OperacionaisSistemaAdministraçãoLinha de comandoManutenção
Tradução atualizada 6 meses atrás
Configurar cron jobs no Ubuntu é uma habilidade essencial para qualquer administrador de sistemas ou qualquer pessoa que trabalhe para automatizar tarefas repetitivas. Neste guia, exploraremos cron e crontab, que são ferramentas para automatizar e agendar tarefas de forma eficiente em sistemas operacionais do tipo Unix.
O daemon cron é um serviço em segundo plano que roda em sistemas operacionais do tipo Unix e executa comandos ou scripts agendados. Os comandos ou scripts são especificados em um arquivo especial chamado crontab. Cada usuário tem seu próprio crontab, o que permite agendar tarefas sem afetar a configuração geral do sistema.
Um caso de uso comum para um cron job pode ser executar um script de backup todos os dias à meia-noite, limpar arquivos temporários uma vez por semana ou enviar relatórios por e-mail periodicamente.
Os cron jobs são definidos por uma sintaxe especial no arquivo crontab. O formato básico para um cron job inclui seis campos:
Um exemplo de entrada de cron job que executa o script localizado em /home/user/backup.sh
todos os dias às 3 da manhã seria assim:
0 3 * * * /home/user/backup.sh
Para criar ou editar cron jobs, você precisa de acesso ao arquivo crontab. Use o seguinte comando para abrir o crontab no seu editor de texto padrão:
crontab -e
Quando você executa este comando, ele abre o arquivo crontab específico para o usuário atual em um editor de texto, que é definido para crontab por padrão, como nano ou vi.
No crontab, caracteres especiais e palavras-chave podem ser usados para simplificar o agendamento. Aqui estão alguns dos caracteres mais comuns:
*
: Representa qualquer valor. Por exemplo, usar *
no campo "Hora" significaria "toda hora".,
: Permite especificar uma lista de valores. Por exemplo, 1,2,5
no campo "Dia da semana" significa segunda-feira, terça-feira e sexta-feira.-
: Define um intervalo de valores. 1-5
no campo "Dia da semana" significaria de segunda a sexta-feira./
: Especifica o valor do passo. */2
no campo "Hora" significa a cada duas horas.@reboot
, @yearly
, @monthly
, @weekly
, @daily
, @hourly
podem especificar o agendamento de maneira mais natural, como @daily para executar a tarefa uma vez por dia.Por exemplo, uma entrada de cron job para executar um script a cada duas horas poderia ser assim:
0 */2 * * * /home/user/script.sh
Depois de entender a sintaxe básica e os caracteres especiais, você pode escrever seu próprio cron job. Digamos que você tenha um script em /home/user/cleanup.sh
que você queira executar todos os dias às 16:30. Você adicionaria a seguinte linha ao seu crontab:
30 16 * * * /home/user/cleanup.sh
Salve o arquivo e saia do editor. O novo cron job está agora configurado.
Para visualizar a lista de cron jobs para o usuário atual, use o seguinte comando:
crontab -l
Este comando exibe todos os cron jobs agendados para o usuário atual.
Para remover um cron job, simplesmente abra o crontab usando crontab -e
, exclua a linha que você não precisa mais, salve e feche o arquivo.
Cron jobs podem ser poderosos quando usados de forma eficiente. Aqui estão alguns casos de uso comuns:
Aqui estão alguns exemplos adicionais para ajudar a solidificar sua compreensão:
0 9 * * 1-5 /path/to/your/script.sh
0 0 1 * * /path/to/your/command
0 7 * * * /usr/bin/sendmail user@example.com < /home/user/email.txt
Para depurar ou verificar se um cron job foi executado com sucesso, você pode verificar os arquivos de log onde o daemon cron registra suas atividades. Esses logs geralmente estão localizados no diretório /var/log/
e em alguns sistemas os arquivos são nomeados syslog
ou cron.log
.
Para visualizar os logs do cron use o seguinte comando:
cat /var/log/syslog | grep cron
Ajuste a configuração de log conforme necessário no arquivo /etc/rsyslog.d/50-default.conf
para incluir ou excluir logs do cron.
Aqui estão algumas dicas e melhores práticas para gerenciar cron jobs:
Este guia abrangente fornece um entendimento de como cron jobs funcionam e como configurá-los de forma eficaz no Ubuntu. Seguindo as diretrizes e praticando com os exemplos, você será capaz de automatizar tarefas, economizar tempo e aumentar o desempenho do sistema de forma eficiente.
Se você encontrar algo errado com o conteúdo do artigo, você pode