Editado 4 Semanas atrás por ExtremeHow Equipe Editorial
DebianCronAutomaçãoAgendamentoInterface de Linha de ComandoAdministração de SistemasLinuxCódigo AbertoTIServidor
Tradução atualizada 4 Semanas atrás
Cron é uma ferramenta disponível em sistemas do tipo Unix, que é usada para agendar trabalhos ou tarefas. Em termos simples, ele ajuda a automatizar a execução de scripts, comandos ou softwares em momentos e datas especificados. Nos sistemas Debian, usar cron pode ser particularmente útil para tarefas de administração do sistema, como backups, atualizações e limpezas, bem como muitas outras tarefas repetitivas. Neste artigo, aprenderemos como configurar e usar cron no sistema operacional Debian com instruções passo a passo e exemplos.
Antes de começarmos a usar cron, é importante entender seus principais componentes e como ele funciona. Existem vários conceitos-chave a serem compreendidos:
Em seguida, vamos examinar a sintaxe básica que você usará ao criar ou editar um crontab.
O principal objetivo de automatizar tarefas com cron é compreender a sintaxe do crontab. Uma linha típica em um arquivo crontab segue esta estrutura:
* * * * * comando_a_executar
Os cinco asteriscos indicam o seguinte:
Se você quiser executar uma tarefa em um determinado padrão, pode usar caracteres especiais:
*
- O asterisco é um curinga que significa “todo”. Por exemplo, usar um asterisco no campo de minutos significa "todo minuto".,
- A vírgula permite que você especifique vários valores. Por exemplo, para executar um trabalho no 5º e 10º minuto de cada hora, use 5,10
no campo Minuto.-
- O traço permite que você defina um intervalo. Por exemplo, 1-5
no campo Horas significa que ele executará a cada hora, das 1 às 5./
- Este caractere permite especificar o intervalo. Use */2
no campo de minutos para executar a tarefa a cada 2 minutos.Depois de entender a sintaxe, editar e criar crontabs torna-se uma tarefa simples. Vamos ver como você pode trabalhar com o crontab no Debian.
No Debian, cada usuário pode facilmente gerenciar seus próprios arquivos crontab. O arquivo crontab do sistema está localizado em /etc/crontab
, mas os crontabs específicos do usuário são gerenciados de maneira diferente, o que garante que usuários regulares não interfiram com tarefas de nível de sistema.
Para criar ou editar seu crontab, use o seguinte comando no seu terminal:
crontab -e
Este comando abre o arquivo crontab no editor de texto padrão (por exemplo, nano ou vim) para o usuário atual, onde você pode adicionar novos trabalhos cron. Se você estiver executando esse comando pela primeira vez, verá opções para escolher o editor. Use as teclas de seta para selecionar e pressione Enter para confirmar.
Para ver os trabalhos cron atuais de um usuário, você pode usar:
crontab -l
Isso listará todas as tarefas agendadas para o usuário que está executando o comando. Se não houver tarefas agendadas, ele informará que nenhum crontab existe.
Para remover seu crontab específico do usuário e, assim, remover todos os trabalhos cron específicos do seu usuário, use:
crontab -r
Use este comando com muito cuidado, pois ele remove completamente o crontab do usuário sem confirmação.
Vamos aprender sobre alguns trabalhos cron comuns que podem ajudá-lo a automatizar tarefas no Debian.
Para executar automaticamente um script chamado backup.sh
todas as noites às 2h, você deve adicionar a seguinte linha ao seu crontab:
0 2 * * * /caminho/para/backup.sh
Os detalhes são os seguintes:
0
- 0 minutos2
- 2h* * *
Todos os dias de todos os meses, qualquer dia da semanaSe você deseja limpar um arquivo de log específico toda meia-noite, o seguinte trabalho cron pode ajudá-lo:
0 0 * * * echo "" > /caminho/para/logfile.log
Este comando limpará o conteúdo de logfile.log
toda noite à meia-noite.
Para enviar um e-mail de relatório toda sexta-feira ao meio-dia usando um programa de e-mail, você pode adicionar o seguinte:
0 12 * * 5 /caminho/para/email_script.sh
5
Especifica sexta-feira no campo Dia da Semana.
Às vezes, trabalhos cron não são executados como esperado por uma variedade de razões. Compreender e solucionar esses problemas comuns pode ajudar a garantir que seus trabalhos de automação sejam confiáveis e eficientes.
Verifique as permissões do script ou arquivo que você está tentando executar. O daemon cron executa tarefas com as permissões do proprietário do crontab. Se um script ou comando exigir privilégios elevados, certifique-se de que possui as permissões necessárias ou considere usar um crontab em nível de sistema com as permissões apropriadas.
Normalmente, a saída dos trabalhos cron é enviada por e-mail ao proprietário do crontab. Para redirecionar a saída para um arquivo para facilitar a depuração, você pode fazer o seguinte:
0 2 * * * /caminho/para/script.sh >> /caminho/para/logfile.log 2>&1
Isso redireciona tanto a saída padrão quanto a saída de erro para o arquivo de log especificado. Revisar esse log pode ajudá-lo a diagnosticar quaisquer problemas com a execução do trabalho.
O ambiente do cron é diferente do seu ambiente de shell normal. Portanto, qualquer script executado através do cron pode não ter as mesmas variáveis de ambiente. Para superar isso, defina explicitamente quaisquer variáveis de ambiente necessárias no script ou use caminhos completos para todos os arquivos e executáveis em seu comando.
Para maximizar a eficácia e a confiabilidade da automação de tarefas com cron no Debian, aqui estão algumas melhores práticas:
Faça seu crontab mais legível adicionando comentários. Comece uma linha com #
para deixar uma nota ou explicação:
# Este trabalho executa o script de backup todos os dias às 2h 0 2 * * * /caminho/para/backup.sh
Sempre certifique-se de que scripts funcionam conforme o esperado quando executados manualmente antes de agendá-los com o cron. Isso reduz a chance de falhas inesperadas e ajuda a confirmar que o script se comporta como esperado sob o ambiente do cron.
Mantenha suas entradas de crontab simples. Evite comandos excessivamente complexos no crontab. Se uma tarefa exigir várias etapas ou lógica complexa, encapsule-a em um script e chame o script do crontab.
O Cron fornece uma maneira poderosa e flexível de automatizar tarefas em sistemas Debian, facilitando o gerenciamento de tarefas monótonas e repetitivas. Ao dominar a sintaxe do crontab, gerenciar arquivos crontab, identificar problemas comuns e seguir as melhores práticas, você pode usar cron de forma eficiente para aumentar a produtividade e otimizar o desempenho do sistema. Seja você um administrador de sistemas ou um usuário casual, aprender a aproveitar o cron pode proporcionar benefícios significativos na gestão do seu sistema Debian.
Se você encontrar algo errado com o conteúdo do artigo, você pode