Gerenciador de agendamentos cron em Português do Brasil.
Esqueça sintaxe cron. Escreva o que você quer em português:
sched rodar toda segunda às 09:00 backup.sh
sched rodar fim do mês relatorio.sh
sched rodar a cada 2 horas verifica.sh
sched rodar no dia 15 às 08:30 pagamento.sh
sched rodar hoje às 18:00 backup.sh
sched rodar dia 20/04 às 14:00 script.sh
gawk,mawk≥ 1.3.4, ou qualquer awk com suporte astrftime/systimecrontab(qualquer implementação POSIX)column(util-linux)
git clone https://github.com/coelhorb/sched
sudo install -m 755 sched/sched /usr/local/bin/schedOu sem privilégios de root:
mkdir -p ~/.local/bin
install -m 755 sched/sched ~/.local/bin/sched
# garanta que ~/.local/bin esteja no seu PATHsched rodar <frequência> [às HH:MM] <comando> [opções]
sched listar
sched descreva <id>
sched deletar [id] [-s | --sim]
sched ajuda
| Opção | Descrição |
|---|---|
-s / --sim |
Agenda sem pedir confirmação |
--log <arquivo> |
Salva saída do comando em arquivo de log (caminho relativo → /tmp/sched/) |
Após a frequência, você pode especificar um horário com às HH:MM:
sched rodar diariamente às 08:30 backup.sh
sched rodar a cada 10 dias às 14:00 reset-trial.sh
sched rodar toda segunda às 09:00 reuniao.shQuando o horário é omitido, o padrão é 12:00 (meio-dia).
Frequências baseadas em minutos ou horas (
a cada N minutos,a cada N horas,por hora) ignoram o horário especificado — o intervalo já define o tempo de execução.
| Sintaxe | Exemplo |
|---|---|
a cada N minutos |
a cada 30 minutos |
a cada N horas |
a cada 6 horas |
a cada N dias |
a cada 3 dias |
a cada N semanas |
a cada 2 semanas |
a cada N meses |
a cada 3 meses |
a cada hora / por hora |
— |
diariamente / todo dia |
— |
semanalmente |
— |
mensalmente / mensal |
— |
fim do mês / fim de mês |
último dia real do mês |
último dia do mês |
idem |
no dia N / dia N |
N entre 1 e 28, recorrente todo mês |
toda segunda … toda domingo |
com ou sem acento, com ou sem -feira |
a cada 2 segundas … |
a cada N semanas no dia especificado |
hoje |
execução única hoje |
amanhã |
execução única amanhã |
dia DD/MM |
execução única na data especificada |
dia DD/MM/AAAA |
execução única na data especificada |
fim do mês executa sempre no último dia real do mês (28 em fevereiro, 30 em abril, 31 em janeiro, etc.), não apenas no dia 28:
sched rodar fim do mês às 23:00 fatura.sh --simLimitado ao dia 28 para funcionar em todos os meses:
sched rodar no dia 15 às 10:00 pagamento.shAceita todas as variações:
sched rodar toda segunda às 09:00 reuniao.sh
sched rodar toda terça-feira deploy.sh
sched rodar a cada 2 sextas relatorio.shPara rodar um comando uma única vez, use hoje, amanhã ou uma data específica. O agendamento se remove automaticamente do crontab após a execução:
sched rodar hoje às 18:00 backup.sh
sched rodar amanhã às 09:30 relatorio.sh
sched rodar dia 20/04 às 14:00 script.sh
sched rodar dia 20/04/2026 às 14:00 script.shO horário é obrigatório para execuções únicas (não há padrão recorrente que defina quando rodar).
# Backup diário às 3h com log
sched rodar diariamente às 03:00 backup.sh --log backup.log
# Verificação a cada 2 horas
sched rodar a cada 2 horas verifica.sh
# Reset de trial a cada 10 dias às 14h, sem confirmação
sched rodar a cada 10 dias às 14:00 reset-trial.sh --sim --log reset.log
# Relatório no último dia do mês
sched rodar fim do mês relatorio.sh --sim --log relatorio.log
# Reunião toda segunda às 9h
sched rodar toda segunda às 09:00 reuniao.sh
# Cobrar clientes quinzenalmente (padrão: meio-dia)
sched rodar a cada 2 semanas cobranca.sh
# Execução única hoje às 18h
sched rodar hoje às 18:00 backup.sh
# Execução única em data específica
sched rodar dia 20/04 às 14:00 script.sh
# Listar agendamentos
sched listar
# Ver detalhes de um agendamento
sched descreva 2
# Remover agendamento sem confirmação
sched deletar 3 --simAgendamentos:
ID Frequência Próxima Execução Comando Log
#1 diariamente às 03:00 08/04 03:00 backup.sh /tmp/sched/backup.log
#2 último dia do mês ao meio-dia 30/04 12:00 relatorio.sh -
#3 toda segunda-feira às 09:00 13/04 09:00 reuniao.sh -
#4 a cada 2 semanas ao meio-dia 21/04 12:00 cobranca.sh -
#5 no dia 15 de cada mês às 10:00 15/04 10:00 pagamento.sh -
#6 uma vez em 20/04 às 14:00 20/04 14:00 script.sh -
O sched armazena metadados como comentários diretamente no crontab do usuário:
# sched-id:1 | sched-log:/tmp/sched/backup.log | sched-cmd:backup.sh
0 3 * * * mkdir -p /tmp/sched && { echo "[...] backup.sh"; backup.sh; echo '---'; } >> /tmp/sched/backup.log 2>&1
Para execuções únicas, o comando no crontab inclui um wrapper de auto-remoção que apaga o próprio agendamento após a execução. O listar exibe apenas o comando original — o wrapper fica transparente.
Os IDs são renumerados automaticamente ao deletar entradas. Linhas do crontab que não foram criadas pelo sched são preservadas intactas.
MIT