Programação de Scripts - Atividade 15

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

Preparação do Repositório.

Crie um repositório privado no GitHub. Repositórios públicos levarão nota zero automaticamente. Se seu nome for José Carlos Silva, o repositório deve ter o nome josecarlosscripts20202. Primeiro e segundo nome, sufixo scripts20202, tudo minúsculo. É nele que devem ser colocados os arquivos. Convide o professor (jmarcelo.alencar@gmail.com) para ser colaborador do repositório. Faz parte da avaliação utilizar o GitHub de forma correta.

Dentro do repositório crie uma pasta chamada atividades. Dentro desta pasta você colocará os arquivos de cada atividade. Por exemplo, os arquivos da Atividade 01 devem estar na pasta atividades/atividade01.

Formato da Entrega:

Valor: 1,0 ponto na 3ª Nota.

Data da Entrega Limite: 10/03/2021

Coloque os arquivos na pasta atividades/atividade15.

Questão Única - 1,0 Ponto

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.