107.2 - Agendamento de Tarefas Flashcards

1
Q

Qual a estrutura do arquivo /etc/crontab ?

A
  • minuto
  • hora
  • dia do mês
  • mês
  • dia da semana
  • username
  • comando
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Na configuração do arquivo /etc/crontab quais são os dias da semana configurados para zero e sete ?

A

Os dois estão configurados para domingo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quais são os diretórios cron* no caminho /etc e quais suas funções ?

A

Os scripts nos diretórios abaixo se configurados no cron devem ser executados conforme explicação abaixo:

/etc/cron.hourly -> Uma vez a cada hora
/etc/cron.daily -> Uma vez por dia
/etc/cron.weekly -> Uma vez por semana
/etc/cron.monthly -> Uma vez por mês
/etc/cron.d -> Contém agendamentos específicos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Favor descrever quando serão executados os agendamentos abaixo?

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 )

A

1- Será executado todo minuto 17 de cada hora.
2- Será executado todo dia as 6:25
3- Será executado todo domingo as 6:47
4- Será executado todo dia 1 de cada mês as 6:52

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais as opções mais utilizadas do comando crontab ?

A

-l -> Lista os agendamentos
-u -> Lista de uma usuário especifico
-e -> Entra em modo de edição
-r -> Remove todos os agendamentos
arquivo -> Importa o conteúdo do arquivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Favor descrever quando serão executados os agendamentos abaixo?

1) 15 13 1,10,20,30 * 1-5 script1.sh
2) */10 * * * * script2.sh
3) 0 0 1 1 * script3.sh
4) 20 9-18 * * 1-5 script4.sh

A

1) As 13:15 dos dias 1, 10, 20 e 30 de qualquer mês que seja de segunda a sexta será executado o script1.sh.
2) De 10 em 10 minutos todos os dias será executado o script2.sh
3) Todo dia 01 de janeiro a meia-noite de todo ano será executado o script3.sh
4) De segunda a sexta as 9:20, 10:20 e assim por diante até as 18:20 será executado o script4.sh

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Onde ficam localizadas as crontabs de cada usuário ?

A

/var/spool/cron/
/var/spool/cron/crontabs
/var/spool/cron/tabs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Como eu determino quais usuários podem ou não utilizar o cron ?

A

/etc/cron.allow -> Permite que a lista de usuários no arquivo utilizem o crontab
/etc/cron.deny -> Proíbe que a lista de usuários no arquivo utilizem o crontab.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que acontece se tivermos o mesmo usuário nos arquivos /etc/cron.allow e /etc/cron.deny ?

A

O arquivo /etc/cron.allow tem prioridade sobre o /etc/cron.deny

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual a diferença entre as distribuições Debian e RedHat em relação aos arquivos /etc/cron.allow e /etc/cron.deny ?

A

Na distribuição Debian se os arquivos não existirem a utilização do cron é liberada a todos os usuários.
Já na distribuição RedHat se os arquivos não existirem a utilização do cron é bloqueada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qual a função do comando at ?

A

Agendar scripts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como posso verificar quais jobs estão configurados no at ?

A

atq

ou

at -l

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Como faço para deletar um job no at ?

A

atrm #job
at -d #job
at -r #job

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Como posso agendar o script /scripts/meuscript.sh para rodar na próxima segunda-feira as 17:15 pelo comando at ?

A

at 17:15 next monday
/scripts/meuscript.sh
Ctrl + d

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Como posso agendar o script /scripts/meuscript.sh para rodar daqui a 10 minutos pelo comando at ?

A

at now +10 min
/scripts/meuscript.sh
Ctrl + d

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Como posso agendar o script /scripts/meuscript.sh para rodar dia 10/09/2020 as 21:00 pelo comando at ?

A

at 2100 sep 10 2020

at 2100 09102020

17
Q

Como eu determino quais usuários podem ou não utilizar o at ?

A

/etc/at.allow -> Permite que a lista de usuários no arquivo utilizem o at
/etc/at.deny -> Proíbe que a lista de usuários no arquivo utilizem o at.

18
Q

O que acontece se os arquivos /etc/at.allow e /etc/at.deny não existirem ?

A

Somente o usuário root poderá utilizar o at.

19
Q

Como faço para listar os agendamentos feitos no systemd ?

A

systemctl list-timers

ou

systemctl list-units –type=timer

20
Q

Qual a diferença de configurações de agendamento do parâmetro OnCalendar nas distribuições Debian e RedHat em relação aos dias da semana ?

A
  • Debian -> OnCalendar=Mon..Fri

- RedHat -> OnCalendar=Mon-Fri

21
Q

Quais são os principais tipos de configuração do parâmetro OnCalendar em relação aos agendamentos ?

A

OnCalendar=DiadaSemana Ano-Mês-Dia Hora:Minuto:Segundo

  • Hora:Minuto:Segundo
    • HH:MM:SS
    • HH,HH:00
    • HH..HH,MM
22
Q

Qual o significado do parâmetro RandomizedDelaySec na configuração do arquivo de Unit ?

A

De acordo com o valor informado será gerado um valor randômico que será utilizado para determinar o horário da execução.

23
Q

Qual o significado do parâmetro Persistent na configuração do arquivo de Unit ?

A

O padrão é false. Se por algum motivo uma execução programada for perdida, na próxima vez que a unidade de cronômetro for ativada, o serviço será lançado imediatamente.

24
Q

Quais são as opções monolíticas de agendamento dentro de uma unit .timer ?

A

OnActiveSec -> Define um cronômetro relativo ao momento em que a própria unidade do cronômetro é ativada.
OnBootSec -> Define um cronômetro relativo a quando a máquina foi inicializada.
OnStartupSec -> Define um cronômetro relativo a quando o gerenciador de serviço foi iniciado pela primeira vez.
OnUnitActiveSec -> Define um temporizador relativo a quando uma unidade foi ativada pela última vez.
OnUnitInactiveSec -> Define um temporizador relativo a quando uma unidade foi desativada pela última vez.

25
Q

Qual o significado do parâmetro AccuracySec na configuração do arquivo de Unit ?

A

O padrão é 1min. O cronômetro está programado para decorrer em uma janela de tempo começando com o tempo especificado e terminando no tempo configurado com AccuracySec.

26
Q

Qual a configuração básica do um arquivo .service para um agendamento no systemd ?

A

[Unit]
Description=Exemplo

[Service]
Type=Oneshot /Simple
ExecStart=/bin/sh -c ‘/bin/date&raquo_space; /tmp/Exemplo-systemd.txt’

27
Q

Qual a configuração básica de um arquivo .timer para um agendamento no systemd ?

A

[Unit]
Description=Teste de systemd

[Timer]
OnCalendar=::10
AccuracySec=1ms

28
Q

Para que serve o comando systemd-run ?

A

Para agendar scripts.

29
Q

Liste as principais opções do comando systemd-run refentes aos agendamentos ?

A
  • -on-active -> Roda após o tempo informado
  • -on-boot -> Roda um tempo depois do boot
  • -on-startup -> Roda um tempo depois a ativação do systemd
  • -on-unit-active -> Roda um tempo depois da ativação da Unit
  • -on-unit-inactive -> Roda um tempo depois da inativação da Unit
  • -on-calendar -> Roda no tempo especificado
30
Q

Como posso ver os detalhes de um agendamento feito via systemd ?

A

journalctl -u arquivo.timer ou arquivo.service