Questão de Sistemas Operacionais — Geral — VUNESP 2025
Sistemas Operacionais›Geral
Código
vu223094
Banca
VUNESP
Órgão
TJM SP
Ano
2025
Cargo
Ana CPDJ ( )
Em um sistema Linux, o administrador deseja que o script clean.sh seja executado diariamente às 23h59.
Editando o arquivo crontab, a linha que deverá ser adicionada no arquivo é:
A23 59 * * * clean.sh
B* * * 59 23 clean.sh
C* * * 23 59 clean.sh
D* * * * * clean.sh
E59 23 * * * clean.sh
Revelar gabarito e comentário▾
GabaritoE — 59 23 * * * clean.sh
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Crontab no Linux: sintaxe de agendamento
Gabarito: letra E. A linha correta é 59 23 * * * clean.sh, pois o formato do crontab é minuto hora dia-do-mês mês dia-da-semana comando — ou seja, os cinco primeiros campos são, nesta ordem: minuto, hora, dia do mês, mês e dia da semana. Para executar diariamente às 23h59, o minuto é 59, a hora é 23, e os três últimos campos (dia do mês, mês e dia da semana) devem ser * (qualquer valor).
O crontab é o agendador de tarefas do Linux. Ele lê um arquivo de configuração onde cada linha define uma tarefa periódica. A sintaxe é rígida: cinco campos de tempo seguidos do comando a ser executado. A ordem desses campos é o ponto central da questão — inverter minuto com hora, ou hora com dia, é o erro clássico que a banca explora.
Vamos entender cada campo:
Campo
Posição
Valores aceitos
Minuto
1º
0–59
Hora
2º
0–23
Dia do mês
3º
1–31
Mês
4º
1–12 (ou jan–dez)
Dia da semana
5º
0–7 (0 e 7 = domingo; ou sun–sat)
O asterisco * significa "qualquer valor" — ou seja, todos os valores possíveis para aquele campo. Assim, * * * * * executaria o comando a cada minuto, todos os dias.
Para agendar diariamente às 23h59, precisamos fixar o minuto em 59 e a hora em 23, e deixar os demais campos livres (qualquer dia do mês, qualquer mês, qualquer dia da semana). Isso resulta em 59 23 * * *.
A pegadinha desta questão é justamente a ordem dos campos. Muitos candidatos, por associação com o formato de data (dia/mês/ano), invertem a ordem e colocam o dia antes da hora, ou confundem minuto com hora. A banca monta alternativas que trocam essas posições para testar se você decorou a sequência exata.
NÃO CAIA NESSA!
A banca explora a inversão da ordem dos campos. A alternativa A (23 59 * * *) coloca a hora no lugar do minuto e o minuto no lugar da hora — se você ler "23h59" e escrever 23 no primeiro campo, erra. A alternativa C (* * * 23 59) coloca os números nos campos de dia do mês e mês, o que não faz sentido. A alternativa E é a única que respeita a ordem minuto hora dia-mês mês dia-semana.
Alternativa A — ❌ Incorreta
23 59 * * * inverte minuto e hora. O primeiro campo é o minuto (0–59), então 23 seria um minuto válido, mas o segundo campo é a hora (0–23), e 59 não é uma hora válida. Além disso, a intenção era 23h59, mas aqui ficaria 59h23 — impossível. A ordem correta é 59 23.
Alternativa B — ❌ Incorreta
* * * 59 23 coloca 59 no campo de mês (que aceita 1–12) e 23 no campo de dia da semana (que aceita 0–7). Ambos são inválidos. Além disso, os campos de minuto e hora estão como *, o que executaria a cada minuto, não às 23h59.
Alternativa C — ❌ Incorreta
* * * 23 59 coloca 23 no campo de mês (inválido, pois mês vai até 12) e 59 no campo de dia da semana (inválido, pois dia da semana vai até 7). Os campos de minuto e hora estão como *, então executaria a cada minuto, não às 23h59.
Alternativa D — ❌ Incorreta
* * * * * significa "a cada minuto, todos os dias" — não atende ao requisito de executar uma vez por dia às 23h59. É a sintaxe para execução a cada minuto.
Alternativa E — ✅ Correta ⟵ GABARITO
59 23 * * * respeita exatamente a ordem: minuto = 59, hora = 23, dia do mês = qualquer, mês = qualquer, dia da semana = qualquer. Isso executa o script clean.sh diariamente às 23h59.