Advertisement
fgvconsultoria

Sripts para o Asterisck

May 24th, 2013
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.95 KB | None | 0 0
  1. #! /bin/sh
  2.  
  3. # Variaveis manipulaveis
  4. #####################################
  5. V_Master="/var/log/asterisk/cdr-csv/Master.csv"
  6. V_extensions="/etc/asterisk/extensions.conf"
  7. V_dir_bkp="/etc/asterisk/bklog/"
  8. # Os prefixos devem ser separados com espaço
  9. #############################################
  10. V_tecprefix="310001 310002 310003 310004"
  11. V_pais="#55"
  12. # Dia inicial e final da pesquisa Master.csv
  13. # No exemplo abaixo começa no dia 20 do mês
  14. # anterior até o dia 19 do mês atual
  15. ##############################################
  16. V_diai="20"
  17. V_diaf="19"
  18. # Tempo sem segundos
  19. ##############################################
  20. V_limite="4560000"
  21. # E-mails de envio e destino para o alerta
  22. ##############################################
  23. V_mailfrom="[email protected]"
  24.  
  25. # Variaveis sem ER
  26. #####################################
  27. V_data=`date +%Y%m%d`
  28. V_data_inicio=`date +%Y%m"${V_diaf}"`
  29. V_data_buscaf=`date +%Y-%m`
  30. V_data_buscai=`date -d "-1 month" +%Y-%m`
  31. V_nome=`uname -n`
  32.  
  33. for V_linha in ${V_tecprefix}
  34. do
  35.         # Variaveis sem ER
  36.         #####################################
  37.         V_bloqueio=""
  38.         V_awk_busca="exten => _${V_linha}${V_pais}"
  39.         V_trava=`grep "^; ${V_awk_busca}" "${V_extensions}"`
  40.  
  41.         # Variaveis com ER
  42.         #####################################
  43.         grep "${V_linha}" "${V_Master}" | sed "/${V_data_buscai}-${V_diai}/,/${V_data_buscaf}-${V_diaf}/!d" > "${V_dir_bkp}${V_linha}"
  44.         V_contador=`egrep "${V_busca}" "${V_dir_bkp}${V_linha}" | awk -F"," '$15 !~ /"BUSY"|"NO ANSWER"/ {V_SOMA=V_SOMA+$15} END {print V_SOMA}'`
  45.         [ ! "${V_contador}" ] && V_contador="0"
  46.         V_conta_bkp=`ls "${V_dir_bkp}${V_linha}"* 2>/dev/null | awk 'END {printf "%04o", NR+1}'`
  47.         gzip -S "_${V_conta_bkp}_${V_data}.gz" "${V_dir_bkp}${V_linha}"
  48.  
  49.         if [ \( "${V_data}" -eq "${V_data_inicio}" \) -a \( "${V_trava}" \) ]
  50.         then
  51.                 V_conta_bkp=`ls "${V_dir_bkp}${V_extensions}_${V_data}_bkp.conf"* 2>/dev/null | awk 'END {printf "%04o", NR+1}'`
  52.                 cp "${V_extensions}" "${V_dir_bkp}extensions_${V_data}_bkp.conf"
  53.                 awk -v V_BUSCA="${V_awk_busca}" '{if ($0 ~ V_BUSCA) gsub (/; /, "")}; {print $0}' "${V_dir_bkp}extensions_${V_data}_bkp.conf" > "${V_extensions}"
  54.                 gzip -S "_${V_conta_bkp}.gz" "${V_dir_bkp}extensions_${V_data}_bkp.conf"
  55.                 V_bloqueio="Prefixo liberado"
  56.         elif [ \( "${V_contador}" -ge "${V_limite}" \) -a \( ! "${V_trava}" \) ]
  57.         then
  58.                 V_conta_bkp=`ls "${V_dir_bkp}${V_extensions}_${V_data}_bkp.conf"* 2>/dev/null | awk 'END {printf "%04o", NR+1}'`
  59.                 cp "${V_extensions}" "${V_dir_bkp}extensions_${V_data}_bkp.conf"
  60.                 awk -v V_BUSCA="${V_awk_busca}" '{if ($0 ~ V_BUSCA) sub (/e/, "; e")}; {print $0}' "${V_dir_bkp}extensions_${V_data}_bkp.conf" > "${V_extensions}"
  61.                 gzip -S "_${V_conta_bkp}.gz" "${V_dir_bkp}extensions_${V_data}_bkp.conf"
  62.                 V_bloqueio="Prefixo bloqueado"
  63.         fi
  64.         V_contador=`echo "${V_contador}" | awk 'SOMA = $1 / 60 {print SOMA}'`
  65.         [ ! "${V_contador}" ] && V_contador="0"
  66.         V_mensagem="${V_mensagem}
  67.        Prefix ${V_linha} ja consumiu ${V_contador} min. ${V_bloqueio}
  68.        "
  69. done
  70.  
  71. # Envio de e-mail
  72. #############################
  73. (echo "HELO mail.seudominio.net";
  74. echo "AUTH LOGIN";
  75. # Seu login no padrão BASE64
  76. #############################################
  77. echo "fgsdfhljdhfshdfgsdlkjfghskdjfgklsdj==";
  78. # Sua senha no padrão BASE64
  79. #############################################
  80. echo "sdfhgdsifghsdfhgoshdg=";
  81. echo "MAIL FROM: ${V_mailfrom}";
  82. echo "RCPT TO: ${V_mailto}";
  83. echo "DATA";
  84. echo "FROM: ${V_mailfrom}";
  85. echo "SUBJECT: Consumo Prefixos servidor - ${V_nome}";
  86. echo "Content-type: text/plain; charset=ISO-8859-1; format=flowed";
  87. echo "";
  88. echo "Segue consumo em segundos dos prefixos";
  89. echo "${V_mensagem}";
  90. echo ".";
  91. echo "QUIT";) | nc -t mail.seudominio.net 25
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement