Arquivos mensais: julho 2017

Verifica atividade VPN RACOON IPSEC – Reinicia serviço em caso de queda

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
netA="132.1.1.0/24"
netB="192.168.2.0/24"
iface="eth1"
ip_test="192.168.2.1"
log="/var/log/syslog"
data_=$(date +%b\ %d\ %X)
 
ping -qc4 -I $iface $ip_test > /dev/null
if [ $? == 0 ]
then
        echo OK
        echo "$data_ racoon - VPN OK. comunicando com host $ip_test" >> $log
else
        echo "$data_ racoon - Nao foi possivel comunicar com o host $ip_test da VPN" >> $log
        echo "$data_ racoon - Reiniciando o servico..."
        /etc/init.d/racoon restart
        /etc/init.d/setkey restart
fi
 
iptables-save |grep "A FORWARD -s $netA -d $netB -j ACCEPT"  > /dev/null
if [ $? == 0 ]
then
        echo OK
else
        iptables -I FORWARD -s $netA -d $netB -j ACCEPT  > /dev/null
        iptables -I INPUT -s $netB -p icmp -j ACCEPT  > /dev/null
fi
 
iptables-save |grep "A FORWARD -s $netB -d $netA -j ACCEPT"  > /dev/null
if [ $? == 0 ]
then
        echo OK
else
        iptables -I FORWARD -s $netB -d $netA -j ACCEPT  > /dev/null
fi

Compara nomes (nome, emails e etc.) entre duas listas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
#!/bin/bash
lista1="/tmp/ldap_users.txt"
lista2="/tmp/tmp_users.txt"
existe=0
> $lista1
> $lista2
 
# base dos dados a serem analisados
/opt/mav5/bin/sqlite3 /opt/base1.db "select users1 from tabela1" > $lista1
/opt/mav5/bin/sqlite3 /opt/base2.db "select users2 from tabela2" > $lista2
 
#verificacao
while read i
do
        while read e
        do
                if [ "$i" == "$e" ];then
                        echo "$e contém na lista $lista2"
                        existe=1
                fi
        done < $lista1
done < $lista2
#
#
if [ $existe -eq 0 ];then
        echo "Não existem dados iguais entre os arquivos $lista1 e $lista2"
fi

Extrai dados de XML e gera XLS com dados extraídos

Parte 1:
xml_convert_xls.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash 
# nomesaida="lista_excel$(date +%Y-%m-%d).xls"
# bloco_tmp="/tmp/tmp_convert.txt"
n=0
log="./tmp/"
rm -f $log/*
#> $bloco_tmp
 
 
echo "Separando blocos referenciados pela tag '</entity>'"
while read i
do
 
echo $i | grep "</entity>" > /dev/null
if [ $? -ne 0 ]; then
        nome=$(echo "$i" | grep "<name>" | sed 's/<name>//g' | sed 's/<\/name>//g' | grep @)
        redirecionamento=$(echo "$i" | grep "<redirect>" | sed 's/<redirect>//g' |sed 's/<\/redirect>//g' | grep @)
        quota=$(echo "$i" | grep "<quota>" | sed 's/<quota>//g' | sed 's/<\/quota>//g')
 
                if [ ! -z "$nome" ] || [ ! -z "$redirecionamento" ] || [ ! -z "$quota" ] ;then
 
                        if [ ! -z $nome ];then
                                echo "_nome: $nome" >> $log/bloco_tmp.$n
                        fi
                        if [ ! -z $redirecionamento ];then
                                echo "_redirect: $redirecionamento" >> $log/bloco_tmp.$n
                        fi
                        if [ ! -z $quota ];then
                                echo "_quota: $quota" >> $log/bloco_tmp.$n
                        fi
                fi
 
else
        echo $((n++))
fi
 
done < alliar.csv
 
echo "Blocos separados e criados em ./tmp/"
echo "Rode o comando ./xml_convert_xls-parte2.sh para converter os blocos em um único arquivo xls"
 
# Marcelo Viana
# AMDG

Parte 2:
xml_convert_xls-parte2.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
nomesaida="lista_excel$(date +%Y-%m-%d).xls"
> $nomesaida
 
echo "Nome      Quota   Redirecionamento" > $nomesaida
 
for file in $(ls tmp/)
do
                while read i
                do
 
                        nome_=$(echo "$i" | grep "_nome:" | sed 's/_nome: //g')
                        if [ ! -z "$nome_" ];then
                                nome="$nome_"
                        fi
                        quota_=$(echo "$i" | grep "_quota:" | sed 's/_quota: //g')
                        if [ ! -z "$quota_" ];then
                                quota="$quota_"
                        fi
                        redirect_=$(echo "$i" | grep "_redirect:" | sed 's/_redirect: //g')
                        if [ ! -z "$redirect_" ];then
                                redirect="$redirect_"
                        fi
 
                done < tmp/$file
        echo "$nome     $quota  \"$redirect\"" >> $nomesaida
        echo "$nome     $quota  $redirect"
        nome=""
        quota=""
        redirect=""
 
done
 
echo ""
echo "xls gerado: [ $nomesaida ]"
 
# Marcelo Viana
# AMDG