Programação de Scripts - Atividade 13

Leia com atenção as instruções abaixo.

Valor: 2,0 pontos na 3ª Nota.

Data da Entrega Limite: 22/01/2022

Coloque os arquivos desta atividade na pasta atividades/atividade13 no seu repositório.

Questão Única - 2,0 Pontos

O nome do script principal da atividade deve ser instanciaServico.sh.

Esta atividade tem duas partes: treinamento e produção. Só a parte produção será corrigida. O treinamento é para preparar o terreno.

Treinamento

Considere o script a seguir:

#!/bin/bash

while true
do
   DATA=$(date +%H:%M:%S-%D)
   echo "$DATA Servidor Ativo" >> /var/log/mensagens.log
   sleep 5
done                
                        

Crie uma instância através do console da AWS e configure um serviço SystemD para executar esse script. Inicie o script sem reiniciar a instância para ter certeza que ele executa corretamente. Depois, certifique-se que o serviço funciona mesmo após a instância ser reiniciada.

Produção

Até este ponto, você deve ter entendido que um script com um laço dentro é iniciado pelo SystemD e se mantém em execução. Agora vamos para o que o instanciaServico.sh deve fazer.

A execução deve ser igual a Atividade anterior, mantendo a chave caso o professor deseje entrar na instância durante a correção:

$ ./instanciaServico.sh nomedachave
Criando servidor de Monitoramento...
Acesse: http://84.74.123.45/                 
                        

Seu script além de criar a máquina virtual, deve instalar um serviço nela que de 5 em 5 segundos colete informações do estado da máquina e exiba o resultado na página index.

  1. O horário e data da coleta de informações.
  2. Tempo que a máquina está ativa.
  3. Carga média do sistema.
  4. Quantidade de memória livre e ocupada.
  5. Quantidade de bytes recebidos e enviados através da interface eth0.

Todas essas informações já foram assunto de atividade anterior, menos a última, que pode ser obtida lendo o arquivo /proc/net/dev. Lembre-se que você pode usar o comando cat e o operador << para fazer com que um script crie outro script ou arquivo de texto qualquer:

cat << EOF > script.sh
#!/bin/bash
while true
do
   DATA=$(date +%H:%M:%S-%D)
   echo "$DATA Servidor Ativo" >> /var/log/mensagens.log
   sleep 5
done    
EOF               
                        

Você não precisa fazer um HTML complicado, só tente organizar as informações em uma tabela ou lista. Não é para simplesmente jogar a saída dos comandos para o arquivo.