Como exibir e listar trabalhos do Cron usando o Crontab ⋆ ALexHost SRL

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills
27.12.2024

Como exibir e listar trabalhos do Cron usando o Crontab

O utilitário cron em sistemas operacionais do tipo Unix permite que os usuários agendem tarefas (comandos ou scripts) para serem executadas automaticamente em horários ou intervalos específicos. Quer você esteja mantendo um servidor ou gerenciando tarefas automatizadas em sua máquina local, o cron é uma ferramenta essencial para administradores de sistemas e desenvolvedores.

Neste artigo, explicaremos como exibir e listar os trabalhos cron usando o comando crontab, o que o ajudará a gerenciar as tarefas agendadas com eficiência.

O que é o Crontab?

Crontab (abreviação de “cron table”, tabela cron) é um arquivo que define as tarefas agendadas no sistema cron. Cada usuário em um sistema, inclusive o usuário root, pode ter seu próprio crontab, que especifica os trabalhos que deseja automatizar.

O arquivo crontab consiste em tarefas cron na seguinte sintaxe:

* * * * * * comando_a_ser_executado
| | | | |
| | | | | ----- dia da semana (0 - 7) (domingo=0 ou 7)
| | | ---------- mês (1 - 12)
| --------------- dia do mês (1 - 31)
| -------------------- hora (0 - 23)
------------------------- minuto (0 - 59)

Essa estrutura permite um controle preciso sobre quando os trabalhos são executados, tornando o cron uma poderosa ferramenta de automação.

Como listar os trabalhos do Cron usando o Crontab

Para gerenciar os trabalhos cron, o comando crontab é o seu utilitário de referência. Veja a seguir como exibir os trabalhos cron para um usuário específico ou para o sistema.

1. Exibição de seus próprios trabalhos do cron

Para exibir os trabalhos cron do seu usuário atual, execute o seguinte comando no terminal:

crontab -l

Isso listará todas as tarefas agendadas para o usuário atualmente conectado ao sistema. Se não houver trabalhos cron, o comando retornará uma lista vazia ou uma mensagem informando que não há crontab para o usuário.

Exemplo de saída:

# m h dom mon dow command
0 0 * * * * /home/user/backup.sh
30 2 * * * 7 /home/user/scripts/cleanup.sh

Neste exemplo:

  • Um script de backup
    (backup.sh
    ) é executado todos os dias à meia-noite.
  • Um script de limpeza
    (cleanup.sh
    ) é executado todos os domingos às 2:30 AM.

2. Listagem de trabalhos Cron para outro usuário

Se você tiver privilégios de root ou sudo, poderá visualizar os trabalhos cron de qualquer usuário usando o sinalizador

-u
seguido do nome de usuário:

sudo crontab -l -u nome de usuário

Substitua nome de usuário pelo nome de usuário real do usuário cujos trabalhos do cron você deseja ver.

Por exemplo, para listar os trabalhos do cron de um usuário chamado john, execute:

sudo crontab -l -u john

Isso exibirá todos os trabalhos agendados do cron para esse usuário.

3. Listagem de trabalhos Cron em todo o sistema

Além dos cron jobs específicos do usuário, há cron jobs para todo o sistema que são agendados pelo sistema ou pelo usuário root. Eles são armazenados em diretórios como /etc/crontab, /etc/cron.d/ e no diretório /var/spool/cron/crontabs.

Para listar os trabalhos cron de todo o sistema, você pode abrir e visualizar o arquivo /etc/crontab:

cat /etc/crontab

A saída pode ser semelhante a esta:

SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin#
m h dom mon dow comando do usuário
17 * * * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )

Neste exemplo:

  • os trabalhos
    do arquivo /etc/cron.hourly
    são executados no 17º minuto de cada hora.
  • os trabalhos do
    arquivo /etc/cron.daily
    são executados todos os dias às 6h25.
  • os trabalhos
    do arquivo /etc/cron.weekly
    são executados todos os domingos às 6h47.
  • os trabalhos do
    arquivo /etc/cron.monthly
    são executados no primeiro dia de cada mês, às 6h52.

Você também pode visualizar os trabalhos em /etc/cron.d/ executando:

ls /etc/cron.d/

Cada arquivo nesse diretório pode conter trabalhos cron adicionais para serviços do sistema.

4. Listagem de trabalhos do Cron no diretório /var/spool/cron/

Os cron jobs específicos do usuário geralmente são armazenados no diretório /var/spool/cron/crontabs. Você pode navegar até esse diretório e listar todos os arquivos de trabalho cron:

ls /var/spool/cron/crontabs

Isso mostrará os arquivos crontab de cada usuário. Para visualizar o conteúdo do crontab de um usuário específico, execute:

cat /var/spool/cron/crontabs/username

Isso fornece a mesma saída que a execução de crontab -l -u nome de usuário.

Edição de trabalhos do Cron

Se precisar modificar ou adicionar novos cron jobs, você pode editar o crontab executando:

crontab -e

Isso abre seu crontab no editor de texto padrão, permitindo que você adicione ou modifique os trabalhos existentes.

Por exemplo, para adicionar um novo trabalho que executa um script todos os dias às 3:00 AM, você adicionaria esta linha:

0 3 * * * * /home/user/script.sh

Depois de salvar e sair do arquivo, o trabalho será agendado imediatamente.

Comandos comuns de listagem do Crontab

Aqui está uma referência rápida para listar os trabalhos do cron em diferentes cenários:

  • Listar os trabalhos cron do usuário atual:
    crontab -l
  • Listar os trabalhos do cron de outro usuário (requer sudo):
    sudo crontab -l -u nome de usuário
  • Listar os trabalhos cron de todo o sistema:
    cat /etc/crontab
  • Listar todos os trabalhos do cron em
    /etc/cron.d/
    :
    ls /etc/cron.d/
  • Exibir os trabalhos do cron armazenados em
    /var/spool/cron/crontabs/
    :
    ls /var/spool/cron/crontabs

Conclusão

Listar e exibir os trabalhos do cron usando o crontab é uma maneira simples, porém poderosa, de gerenciar as tarefas agendadas em um sistema do tipo Unix. Quer esteja gerenciando seus próprios trabalhos cron específicos de usuário ou tarefas automatizadas em todo o sistema, a compreensão desses comandos ajuda a garantir que seus trabalhos sejam executados sem problemas e dentro do prazo.

Ao dominar o cron, você pode automatizar tarefas repetitivas, manter backups e garantir que seus scripts sejam executados de forma consistente em todo o ambiente.

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills