Uso do VI
i para escrever
:q para sair
:wq para salvar e sair
:w <nome arquivo> para salvar como
Atividades escrever script para armazenar em arquivo a cada minuto a % de CPU e qtde de memória usada por um processo.
Ver os processos e salvar no arquivo texto o resultado:
ps -faux > arquivo.txt
ps pega os processos, grep compiz busca apenas linhas com 'compiz', sed pra apagar tudo menos a linha 1, linha 2 em diante, >> add no log.txt
ps aux | grep compiz | sed '2,$ d' | cut -b 16-24 >> log.txt
cut serve pra cortar a string, -b corta bytes, pegando apenas do caracter (cada caracter é um byte) 16 ao 24
ps aux | grep compiz | sed '2,$ d' | cut -b 16-24 | awk '{print $1,";",$2}' >> log.csv
ou pode-se mudar as colunas pelo awk, pegando diretamente as corretas sem usar o cut.
ps aux | grep compiz | sed '2,$ d' | awk '{print $3,";",$4}' >> /home/bolivar/visamples/log.csv
crontab -e para adicionar o comando, dizendo pra executar a cada minuto.
* * * * * ps aux | grep compiz | sed '2,$ d' | awk '{print $3,";",$4}' >> /home/bolivar/visamples/log.csv
Agora pra salvar em um banco MySQL, crie um banco chamado logs e uma tabela chamada log com dois campos decimais, uma pra cpu e outro pra memoria. criar um script Shel log_processo_mysql.sh com o sql insert:
ps aux | grep mysql | sed '2,$ d' | awk '{print "INSERT INTO log (cpu,mem) VALUES (",$3,",",$4,");"}' > /home/bolivar/log_insert.sql
mysql -u root --password='root' -D logs < /home/bolivar/log_insert.sql
De permissao de execucao pro script
chmod +x log_processo_mysql.sh
No crontab agora ficou assim.
* * * * * /home/bolivar/log_processo_mysql.sh
Pra verificar se está funcionando, acessa o mysql:
mysql -u root --password='suasenha'
depois selecione o banco:
use logs;
e execute o select:
select * from log;
pra ver os bancos:
show databases;
pra ver as tabelas, primeiro selecione o database e depois:
show tables;
pra sair do mysql:
quit
pra sair do prompt:
exit
Nenhum comentário:
Postar um comentário