Criando um script para gravar CPU, MEM e TEMP do RPI

0

Como o título sugere, o principal objetivo deste script é gravar a CPU, a memória e a temperatura de um Raspberry Pi 3 B. Eu tenho um esboço do meu script, mas esta é a primeira vez que escrevo no bash para sintaxe Eu sou sem noção. Não tenho certeza se a maneira como estou escrevendo meu roteiro é eficiente ou correta, então sinta-se à vontade para me corrigir.

#!/bin/bash

#repeat test 20 times using for loop 
for i in {1...20}
do
#wait half a second 
sleep 0.5

#execute command 1 and call second script

sleep 3

#execute command 2

sleep 3

#execute command 3 

sleep 3

done  

O comando 1 é o comando que começa a coletar o uso da CPU. Eu estou fazendo isso usando o comando sar encontrado na ferramenta sysstat. Eu estou esperando para executar "sar -P ALL 0.5 > > /home/pi/Desktop/cpu_usage_data.txt". Da minha compreensão e teste deste comando, ele registrará o uso da CPU de todos os 4 núcleos a cada meio segundo, até que eu diga a ele para parar de armazená-lo em cpu_usage_data.txt que posteriormente transferirei para o excel para representar graficamente.

Da mesma forma, quando o comando 1 é executado, eu também gostaria de começar a registrar a temperatura chamando um script secundário. Eu não criei o script a seguir, mas o usuário terdon fez. Eu gostaria de modificar este script para gravar continuamente até o final dos 20 loops.

#!/usr/bin/env bash
vcgencmd measure_temp > /tmp/temp.txt
## Avoid using UPPER CASE variable names since they
## can conflict with environmental variables. 
temp=$(grep -o "[1-9][0-9]\.[0-9]" /tmp/temp.txt)
date=$(date +"%Y-%m-%d %H:%M")
## No need for another variable
printf "%s;%s\n" "$date" "$temp" >> /home/pi/Desktop/temp_hist.csv

Depois disso, esperarei 3 segundos antes de executar o comando 2. O comando 2 chama um programa python encontrado em path / to / python / program e é executado com o sudo python3 main.py.

Aguarde mais 3 segundos e execute o comando 3, fechando o programa python. Normalmente eu só saio de lá, pois tem uma GUI, mas o ctrl-c também funciona bem.

Aguarde mais 3 segundos e repita o teste.

No final, espero ter 2 arquivos, cpu_usage_data.txt e temp_hist.csv preenchidos com dados por um período de tempo. Minhas perguntas são, como faço para executar um comando em um script como eu faria no terminal? Como posso melhorar meu script? Eu perdi alguma coisa no meu esboço?

    
por BASHNOOB 05.07.2018 / 19:44

0 respostas