Observe a entrada a seguir. 30 16 1 7-11 * /home/oracle/sql...

Próximas questões
Com base no mesmo assunto
Q831027 Sistemas Operacionais

Observe a entrada a seguir.

30 16 1 7-11 * /home/oracle/sqldump.sh

O agendamento de tarefas é um recurso de administração de sistemas operacionais que permite a programação da execução de um comando/programa para um determinado dia/mês/ano/hora. Nos sistemas operacionais Linux, as tarefas agendadas são definidas em arquivos como o /etc/crontab. Ao incluir a entrada ilustrada acima no arquivo de agendamento de tarefas, com que frequência o script sqldump.sh será executado?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a E - Às 16h30 do primeiro dia dos meses de julho a novembro.

Vamos analisar a questão de agendamento de tarefas no Linux, que utiliza o arquivo /etc/crontab ou os crontabs de usuários específicos para definir quando comandos ou scripts são executados. Cada linha de um arquivo crontab é composta por cinco campos de tempo, seguidos do comando a ser executado. Os campos de tempo são: minuto, hora, dia do mês, mês e dia da semana. Após esses campos, vem o comando ou script que será executado.

No exemplo de linha de cron fornecida: 30 16 1 7-11 * /home/oracle/sqldump.sh, temos:

  • Minuto: 30 - A tarefa é executada no minuto 30.
  • Hora: 16 - A tarefa é executada às 16 horas.
  • Dia do mês: 1 - A tarefa é executada no primeiro dia do mês.
  • Mês: 7-11 - A tarefa é executada de julho a novembro.
  • Dia da semana: * - A tarefa é executada em qualquer dia da semana.

Portanto, o script sqldump.sh será executado às 16h30 do primeiro dia dos meses de julho a novembro, o que justifica a alternativa E como correta.

Agora, vamos analisar por que as outras alternativas estão incorretas:

A - Nos dias 30 e 16, de julho a novembro, uma vez ao dia. Esta alternativa está incorreta porque a especificação "1" no campo do dia do mês significa apenas o primeiro dia do mês, não o 16 ou o 30.

B - A cada 30 minutos, no dia 16 de janeiro, entre 07 e 11 horas. Esta alternativa está incorreta porque o minuto especificado é 30, o que significa exatamente no minuto 30, e o mês é de julho a novembro, não janeiro.

C - De hora em hora, entre os dias 07 e 11, a partir das 16h30. Esta alternativa está incorreta porque não há especificação para execução de hora em hora; o horário é fixo em 16h30, e o dia do mês especificado é 1, não entre 7 e 11.

D - No dia 30 dos meses de julho a novembro às 16h01. Esta opção está errada porque o dia do mês é 1, não 30, e o minuto é 30, não 01.

Entender a estrutura e os campos do cron é essencial para identificar corretamente a frequência de execução dos comandos agendados. Espero que isso tenha ajudado a esclarecer a questão!

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Resposta correta Letra E

sSintaxe do Comando    mm hh dd MM ss script

mm = minuto(0-59)
hh = hora(0-23)
dd = dia(1-31)
MM = mes(1-12)
ss = dia_da_semana(0-7)
script = comando a ser executado.
Obs 1: Em dia_da_Semana, 0 refere-se a domingo; e 6, ao sábado.
       O número 7 também refere-se ao domingo. 
       No caso de dia da semana funciona também as três primeiras letras 
       (em inglês) do dia da semana (SUN,MON,TUE,WED,THU,FRI,SAT)
Obs 2: Em qualquer posição pode-se usar o * (asterisco) quando não se 
       importar com o campo em questão.
Obs 3: Pode-se utilizar intervalos nesses campos. O caracter para intervalo
       é o - (hifen).
Obs 4: Pode-se utilizar lista de valores nesses campos. O caracter para a
       lista é a , (vírgula).
Obs 5: Qualquer texto colocado após o programa que será executado será
       considerado comentário e não será interpretado pelo cron

Sintaxe do crontab:

minuto      |  hora      |  dia do mês    |  mês       |  dia da semana

[0-59]         |  [0-23]     |   [1-31]            |   [1-12]    |   [0-7]   *sendo que 0 e 7 = domingo

Apenas corrigindo a colega:

de acordo com o livro "Manual Completo do Linux - Guia do Administrador - página 107" o campo dia da semana é composto pelo intervalo 0 a 6 (sendo que 0= domingo).

E- Às 16h30 do primeiro dia dos meses de julho a novembro.

30 (min 0 a 59) 16(hora de 0 a 23) 1(dia do mês 1 a 31) 7-11(entre o mês de julho a novembro ,mês 0 -11) * dia da semana 0 - 6)

30 16 1 7-11 * /home/oracle/sqldump.sh

Gabarito E Às 16h30 do primeiro dia dos meses de julho a novembro.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo