comparar arquivos

1. comparar arquivos

Anderson Juzai Damasceno Tavares
cubanojuzai

(usa Ubuntu)

Enviado em 04/10/2013 - 10:04h

preciso comparar dois arquivos de inventário de hardware e software
eles estão salvos com nome e data. só que os dois ficam com o mesmo nome no codigo, pois vão gerando data automatica do dia.
para comparar se do item 2 ao 5 tem mudança.


#!/bin/bash
data=`date +"%d-%m-%Y"`



echo "" >> inventario- ${data}.txt
echo "===========================================" >> inventario-${data}.txt
echo " Informações de inventário - `date +'%d/%m/%Y'` " >> inventario-${data}.txt
echo "===========================================" >> inventario-${data}.txt
echo "" >> inventario-${data}.txt
echo 1 - Nome do computador: `hostname` >> inventario-${data}.txt
echo "" >> inventario-${data}.txt
echo "2 - Inforões de rede (eth0):" >> inventario-${data}.txt
echo " "- Eneço IPv4: `ifconfig eth0 | grep 'inet end' | awk '{print $3}'` >> inventario-${data}.txt
echo " "- Eneço MAC: `ifconfig eth0 | grep HW | cut -c48-` >> inventario-${data}.txt
echo "" >> inventario-${data}.txt
echo " Infmações de rede (wlan0):" >> inventario-${data}.txt
echo " "- Enço IPv4: `ifconfig wlan0 | grep 'inet end' | awk '{print $3}'` >> inventario-${data}.txt
echo " "- ereço MAC: `ifconfig wlan0 | grep HW | cut -c48-` >> inventario-${data}.txt
echo "" >> inventario-${data}.txt
echo "3 - Processador" >> inventario-${data}.txt
echo " "- Fabricante: `cat /proc/cpuinfo | head -n 31 | grep 'model name' | cut -d : -f2` >> inventario-${data}.txt
echo " ""- Velocidade (MHz):"`cat /proc/cpuinfo | head -n 31 | grep 'cpu MHz' | cut -d : -f2 | cut -d . -f1` >> inventario-${data}.txt
echo " "- Cache: `cat /proc/cpuinfo | head -n 31 | grep 'cache size' | cut -d : -f2 ` >> inventario-${data}.txt
echo "" >> inventario-${data}.txt
echo "4 - Quantidade de memória RAM (em megabytes): "`free -m | grep 'Mem:' | awk '{print $2}'` >> inventario-${data}.txt
echo "" >> inventario-${data}.txt
echo "5 - Servidores TCP em execução" >> inventario-${data}.txt
echo "Endereço Local Endereço Remoto Estado PID/Program name" >> inventario-${data}.txt
echo "`netstat -lntp|sed 1,2d | cut -c21-95`" >> inventario-${data}.txt
echo "" >> inventario-${data}.txt
echo "6 - Últimos 5 logins" >> inventario-${data}.txt
echo "Usuário" >> inventario-${data}.txt
echo "`last -d |head -5 | cut -c1-8`" >> inventario-${data}.txt
echo "" >> inventario-${data}.txt

new=/home/inventario/2013/10/invent*.sh
old=/home/inventario/2013/10/invent*.sh - 1

if [diff $new $old ]
then
echo `$new`
fi




  


2. Re: comparar arquivos

Fernando
phoemur

(usa Debian)

Enviado em 04/10/2013 - 10:55h

Para comparar os arquivos você pode utilizar o comando diff


man diff


Se você não quiser comparar os arquivos inteiros é só delimitar a parte que você quer com sed antes

Agora uma coisa que eu acho importante é que se você vai ter várias saídas no mesmo dia você coloque na data também o horário, assim você tem mais controle sobre quando os arquivos foram criados, por exemplo:


data="$(date +"%d-%m-%Y_%H:%M")"







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts