You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

198 lines
7.8 KiB

#!/bin/bash
trap "" 2 20
#Funcoes
verifica_erro()
{
RESULTADO=$1
MODULO=$2
TIPO=$3
if [ "$RESULTADO" != "0" ] ; then
clear
if [ "$TIPO" = "DESINSTALAR" ] ; then
echo "Erro durante a desinstalacao do Modulo $MODULO"
else
echo "Erro durante a instalacao do Modulo $MODULO, favor verificar as dependencias"
fi
[ -d /tmp/etc_asterisk-$data ] && /bin/mv -f /tmp/etc_asterisk-$data/* /etc/asterisk
[ -d /tmp/var_lib_asterisk-$data ] && /bin/mv -f /tmp/var_lib_asterisk-$data/$i /var/lib/asterisk
exit $RESULTADO
fi
}
#Variaveis
declare -x data=$(date +%F-%H-%M-%S)
log=/tmp/uninstall.log
#Descobrindo o caminho do script
dir=$(dirname $0)
path_arquivo=$(cd $dir;pwd)
versao_linux=$(cat /etc/redhat-release | sed 's/[a-zA-Z() ]//g')
! [ "$versao_linux" = "6.6" ] && clear && echo "SISTEMA OPERCIONAL INVALIDO" && exit
#Ajuste crontab
sed -i "/\(.*#Servicos Auxiliares\)/d" /etc/crontab
sed -i "/\(.*#Transbordo Assistido\)/d" /etc/crontab
sed -i "/\(.*#Backup\)/d" /etc/crontab
sed -i "/\(.*#VPN\)/d" /etc/crontab
sed -i "/\(.*#Remove Caixa Postal\)/d" /etc/crontab
sed -i "/\(.*#Limpa Maildrop\)/d" /etc/crontab
sed -i "/\(.*#Backup - Shell\)/d" /etc/crontab
sed -i "/\(.*#Bloqueio - SIP\)/d" /etc/crontab
sed -i "/\(.*#NTP\)/d" /etc/crontab
sed -i "/\(.*#Logrotate\)/d" /etc/crontab
sed -i "/\(.*\/var\/spool\/asterisk\/voicemail\/default\/\)/d" /etc/crontab
sed -i "/\(.*\/var\/spool\/postfix\/maildrop\/\)/d" /etc/crontab
sed -i "/\(.*\/hdaux\/utilitarios\/scripts\/logrotate\)/d" /etc/crontab
sed -i "/\(.*\.sh.*\)/d" /etc/crontab
sed -i "/\(.*\.php.*\)/d" /etc/crontab
echo "#VPN" >> /etc/crontab
echo "*/1 * * * * root /bin/sip_teste_vpn.sh" >> /etc/crontab
service crond restart
#Ajuste dos servicos
chkconfig --level 35 rc.pbx off
service rc.pbx stop
chkconfig --level 35 supervisor off
/etc/init.d/supervisor stop
[ -e /etc/init.d/vlibd ] && chkconfig --level 35 vlibd off && /etc/init.d/vlibd stop
[ -e /etc/init.d/dgvfifo ] && chkconfig --level 35 dgvfifo off && /etc/init.d/dgvfifo stop
[ -e /etc/init.d/dahdi ] && chkconfig --level 35 dahdi off && /etc/init.d/dahdi stop
[ -e /etc/init.d/khomp-services ] && chkconfig --level 35 khomp-services off && /etc/init.d/khomp-services stop
#Realizando backup da pasta de gravacoes
if [ -d /var/spool/asterisk/monitor ] ; then
cd /var/spool/asterisk/monitor/
raiz_monitor=$(pwd -P | cut -d "/" -f2)
if [ "$raiz_monitor" = "var" ] ; then
mkdir -p /hdaux/gravacoes-$data
/bin/mv -f /var/spool/asterisk/monitor /hdaux/gravacoes-$data/
else
mkdir -p /$raiz_monitor/gravacoes-$data
/bin/mv -f /var/spool/asterisk/monitor /$raiz_monitor/gravacoes-$data/
fi
fi
#Configuracoes e arquivos de sons
[ -d /etc/asterisk ] && /bin/cp -Rap /etc/asterisk /tmp/etc_asterisk-$data
[ -d /var/lib/asterisk ] && /bin/cp -Rap /var/lib/asterisk /tmp/var_lib_asterisk-$data
#Desistalando Pacotes anteriores
if [ 0 -ne $(find /usr/src/ -name "channel*.sh" | wc -l) ] ; then
echo "Desinstalando KHOMP"
bash $(find /usr/src/ -name "channel*.sh" | sort | tail -n1) -j
RESULT=$?
verifica_erro $RESULT KHOMP DESINSTALAR
fi
if [ 0 -ne $(find /usr/src -name "spandsp-0*" -type d -print | wc -l) ] ; then
echo "Desinstalando SPANDSP"
cd $(find /usr/src -name "spandsp-0*" -type d -print)
make uninstall >> $log 2>&1
RESULT=$?
verifica_erro $RESULT SPANDSP DESINSTALAR
fi
if [ 0 -ne $(find /usr/src -name "libpri-1*" -type d -print | wc -l) ] ; then
echo "Desinstalando LIBPRI"
cd $(find /usr/src -name "libpri-1*" -type d -print)
make uninstall >> $log 2>&1
RESULT=$?
verifica_erro $RESULT LIBPRI DESINSTALAR
fi
if [ 0 -ne $(find /usr/src -name "dahdi-linux-complete-2*" -type d -print | wc -l) ] ; then
echo "Desinstalando DAHDI"
cd $(find /usr/src -name "dahdi-linux-complete-2*" -type d -print)/linux/
make uninstall >> $log 2>&1
RESULT=$?
verifica_erro $RESULT DAHDI DESINSTALAR
fi
if [ 0 -ne $(find /usr/src -name "asterisk-1*" -type d -print | wc -l) ] ; then
echo "Desinstalando ASTERISK"
cd $(find /usr/src -name "asterisk-1*" -type d -print)
make uninstall-all >> $log 2>&1
RESULT=$?
verifica_erro $RESULT ASTERISK DESINSTALAR
fi
#Desabilitando repositorios default do Centos
! [ -z "$(ifconfig | grep '192.168.115.*')" ] && sed -i "/repositorio.simplesip.com.br/d" /etc/hosts && echo "192.168.115.12 repositorio.simplesip.com.br" >> /etc/hosts
ls -1 /etc/yum.repos.d/ | grep -v simplesip | while read REPOSITORIO; do
sed -i "/^enabled=.*/d" /etc/yum.repos.d/$REPOSITORIO
CONT=0
grep -in "^\[.*\]" /etc/yum.repos.d/$REPOSITORIO| cut -d: -f1 | while read LINHA; do
sed -i "$(($LINHA+1+$CONT))ienabled=0" /etc/yum.repos.d/$REPOSITORIO
CONT=$(($CONT+1))
done
done
cd $path_arquivo/
#[ -e centos-6-$(uname -m)-upgrades.tar.gz ] && tar xzf centos-6-$(uname -m)-upgrades.tar.gz
#Ajustando variaveis YUM
[ -e /etc/yum/vars/releasever ] && /bin/rm -rf /etc/yum/vars/releasever
cat /etc/redhat-release | sed 's/[a-zA-Z() ]//g' > /etc/yum/vars/releaseversimplesip
#Configurando repositorio Simples IP
echo "[simplesip]" > /etc/yum.repos.d/simplesip.repo
echo "name=CentOS-\$releaseversimplesip - Simples IP" >> /etc/yum.repos.d/simplesip.repo
echo "baseurl=http://repositorio.simplesip.com.br/repositorio/\$releaseversimplesip/os/\$basearch/" >> /etc/yum.repos.d/simplesip.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/simplesip.repo
echo "enabled=1" >> /etc/yum.repos.d/simplesip.repo
echo "" >> /etc/yum.repos.d/simplesip.repo
echo "[simplesip-upgrades]" >> /etc/yum.repos.d/simplesip.repo
echo "name=CentOS-\$releaseversimplesip - Simples IP Upgrades" >> /etc/yum.repos.d/simplesip.repo
echo "baseurl=http://repositorio.simplesip.com.br/repositorio/\$releaseversimplesip/os/\$basearch/upgrades/" >> /etc/yum.repos.d/simplesip.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/simplesip.repo
echo "enabled=1" >> /etc/yum.repos.d/simplesip.repo
echo "" >> /etc/yum.repos.d/simplesip.repo
echo "[simplesip-upgrades-local]" >> /etc/yum.repos.d/simplesip.repo
echo "name=CentOS-\$releaseversimplesip - Simples IP Upgrades Local" >> /etc/yum.repos.d/simplesip.repo
echo "baseurl=file://$path_arquivo/centos-6-\$basearch-upgrades/" >> /etc/yum.repos.d/simplesip.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/simplesip.repo
echo "enabled=0" >> /etc/yum.repos.d/simplesip.repo
mkdir $data
cd $data
yum --disablerepo=\* --enablerepo=simplesip-upgrades-local --nogpgcheck upgrade -y *
RESULT=$?
if [ "$RESULT" != "0" ] ; then
clear
echo "Erro durante a atualizacao dos pacotes - yum"
[ -d /tmp/etc_asterisk-$data ] && /bin/mv -f /tmp/etc_asterisk-$data/* /etc/asterisk
[ -d /tmp/var_lib_asterisk-$data ] && /bin/mv -f /tmp/var_lib_asterisk-$data/$i /var/lib/asterisk
exit $RESULT
fi
sleep 1
yum --disablerepo=\* --enablerepo=simplesip-upgrades-local --nogpgcheck install -y *
RESULT=$?
if [ "$RESULT" != "0" ] ; then
clear
echo "Erro durante a instalacao dos novos pacotes - yum"
[ -d /tmp/etc_asterisk-$data ] && /bin/mv -f /tmp/etc_asterisk-$data/* /etc/asterisk
[ -d /tmp/var_lib_asterisk-$data ] && /bin/mv -f /tmp/var_lib_asterisk-$data/$i /var/lib/asterisk
exit $RESULT
fi
sleep 1
cd ..
/bin/rm -rf $data
[ -d /tmp/etc_asterisk-$data ] && /bin/mv -f /tmp/etc_asterisk-$data /etc/asterisk
[ -d /tmp/var_lib_asterisk-$data ] && /bin/mv -f /tmp/var_lib_asterisk-$data /var/lib/asterisk
/bin/rm -rf /usr/src/instaladores
/bin/rm -rf /usr/src/asterisk*
/bin/rm -rf /usr/src/libpri*
/bin/rm -rf /usr/src/dahdi*
/bin/rm -rf /usr/src/spandsp*
/bin/rm -rf /usr/src/channel_*
/bin/rm -rf /usr/src/usr/src/openr2-*
echo "Reiniciando..."
for i in {5..1};do sleep 1 && echo -n "$i ";done
echo ""
[ -e /sbin/reboot ] && /sbin/reboot