15%

Alexhost concede-lhe desejos

Responder ao inquérito e ganhar prémios

25.12.2024

Como Visualizar e Listar Cron Jobs Usando Crontab

A ferramenta cron em sistemas operacionais semelhantes ao 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 uma máquina local, o cron é uma ferramenta essencial para administradores de sistema e desenvolvedores.

Este artigo explica como visualizar e listar jobs do cron usando o comando

crontab
para ajudá-lo a gerenciar tarefas agendadas de forma eficiente.

O que é o comando Crontab?

Crontab (abreviação de “cron table”) é um arquivo que define tarefas agendadas para o daemon cron. Cada usuário em um sistema, incluindo o usuário

root
, pode ter seu próprio crontab que especifica quais tarefas devem ser automatizadas.

Uma entrada de crontab segue esta sintaxe:


* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)

Esta estrutura permite controle preciso sobre quando as tarefas são executadas, tornando o cron uma poderosa ferramenta de automação.

Como listar jobs do cron usando Crontab

O comando

crontab
é a principal utilidade para gerenciar jobs do cron. Abaixo estão as maneiras mais comuns de listar tarefas do cron.

1. Visualizar seus próprios jobs do cron

Para exibir jobs do cron para o usuário atualmente logado, execute:

crontab -l

Este comando lista todos os jobs do cron agendados para o usuário atual. Se não houver jobs do cron, pode retornar uma saída vazia ou uma mensagem indicando que nenhum crontab está definido.

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 é executado diariamente à meia-noite.
  • Um script de limpeza é executado todo domingo às 2:30 AM.

2. Listar jobs do cron para outro usuário

Se você tiver

sudo
ou privilégios de root, pode visualizar jobs do cron para outro usuário usando a flag
-u
:

sudo crontab -l -u username

Substitua

username
pelo nome de usuário real. Por exemplo:

sudo crontab -l -u john

Isso exibe todos os jobs do cron agendados para o usuário especificado.

3. Listar jobs do cron em todo o sistema

Além dos jobs do cron específicos do usuário, existem tarefas do cron em todo o sistema agendadas pelo sistema ou pelo usuário root. Estes são tipicamente armazenados em:

  • /etc/crontab
  • /etc/cron.d/
  • /var/spool/cron/crontabs/

Para visualizar o arquivo crontab principal do sistema, execute:

cat /etc/crontab

Exemplo de saída:


SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
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 )

Esta configuração agenda tarefas de manutenção do sistema a cada hora, diariamente, semanalmente e mensalmente.

Para listar arquivos de cron adicionais do sistema, execute:

ls /etc/cron.d/

Cada arquivo neste diretório pode definir tarefas agendadas adicionais para serviços do sistema.

4. Visualizar jobs do cron em /var/spool/cron

Os arquivos crontab específicos do usuário geralmente são armazenados em

/var/spool/cron/crontabs
. Para listá-los:

ls /var/spool/cron/crontabs

Para visualizar o conteúdo do arquivo crontab de um usuário específico:

cat /var/spool/cron/crontabs/username

Isso fornece a mesma saída que

crontab -l -u username
.

Editando jobs do cron

Para editar ou adicionar jobs do cron para o usuário atual, execute:

crontab -e

Isso abre o arquivo crontab no editor de texto padrão. Após salvar e sair, as alterações entram em vigor imediatamente.

Exemplo: executar um script todos os dias às 3:00 AM:

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

Comandos comuns de listagem do Crontab

  • Listar jobs do cron do usuário atual:
    crontab -l
  • Listar jobs do cron de outro usuário (sudo necessário):
    sudo crontab -l -u username
  • Visualizar crontab do sistema:
    cat /etc/crontab
  • Listar arquivos de cron em /etc/cron.d/:
    ls /etc/cron.d/
  • Listar crontabs de usuários:
    ls /var/spool/cron/crontabs

Conclusão

Visualizar e listar jobs do cron usando

crontab
é uma maneira simples, mas poderosa, de gerenciar tarefas agendadas em sistemas semelhantes ao Unix. Quer você esteja lidando com automação pessoal ou tarefas de manutenção em todo o sistema, entender esses comandos garante que seus jobs sejam executados de forma confiável e pontual.

Dominando o cron, você pode automatizar tarefas repetitivas, gerenciar backups e manter a execução consistente de scripts em seu ambiente.

15%

Alexhost concede-lhe desejos

Responder ao inquérito e ganhar prémios