Pular para o conteúdo principal

Questão de Sistemas Operacionais — Geral — VUNESP 2025

Sistemas OperacionaisGeral
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 é:

  1. A23 59 * * * clean.sh
  2. B* * * 59 23 clean.sh
  3. C* * * 23 59 clean.sh
  4. D* * * * * clean.sh
  5. 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

0–59

Hora

0–23

Dia do mês

1–31

Mês

1–12 (ou jan–dez)

Dia da semana

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.

Gabarito: letra E

Link permanente: /questoes/vu223094