Adicionar e Remover Dominios Virtuais do Apache
Publicado por Gardy Erickson de Padua (última atualização em 15/12/2011)
[ Hits: 10.892 ]
Ola galera!
Segue um script para adicionar e remover dominios virtuais do apache, alem de fazer monitoramento de processos mais pesados, e trazer algumas estatisticas de uso de memoria e cpu.
Espero que gostem e compartilhem melhorias!
#!/bin/sh
#
###############################################################################
# Script WGR-MULTIFUNCTIONS 1.0 #
# #
# Autores: Gardy Erickson,Roney Eidi,Willians Santos #
###############################################################################
# Este programa tem como funcao adicionar e remover dominios virtuais no #
# apache. Tambem foram implementadas funcoes de verificar estatisticas do #
# CPU, MEMORIA, PROCESSOS e Verificar o Status do Apache. Tambem esta imple- #
# mentada a funcao de enviar email ao administrador do sistema caso o uso de #
# memoria ram do micro esteja acima do limite estipulado #
# #
###############################################################################
#
clear
Menu() {
#clear
echo "==============================================="
echo "|| WRG MULTIFUNCTIONS ||"
echo "==============================================="
echo "Escolha uma funcao ou 0 para sair"
echo " [1] Adicionar Dominio Virtual do Apache "
echo " [2] Remover Dominio Virtual do Apache "
echo " [3] Verificar Estatisticas do CPU"
echo " [4] Verificar Estatisticas de Memoria Ram"
echo " [5] Verificar Estatisticas dos Processos"
echo " [6] Verificar Status do Apache"
echo " [0] Sair "
echo
echo -n " >>> Digite a Opcao: "
read opcao
case $opcao in
1) AdicionaDominio ;;
2) RemoveDominio ;;
3) VerificaCpu ;;
4) VerificaRam ;;
5) VerificaProc ;;
6) VerificaApache ;;
0) Sair ;;
*) "Opcao Invalida!" ; echo ; Menu ;;
esac
}
AdicionaDominio() {
echo "Nome do dominio (Ex.: dominio.com.br) :"
read server
#Criando o diretorio do site
mkdir /var/www/$server
#Criando o Arquivo de Configuracao do VirtualHost
echo "Configuracao do VirtualHost"
echo "<VirtualHost *:80>
ServerName $server
ServerAlias www.$server
DocumentRoot /var/www/$server
</VirtualHost>" > /etc/apache2/sites-available/$server
echo "Ativando VirtualHost $server"
ln -s /etc/apache2/sites-available/$server /etc/apache2/sites-enabled/$server
#Criar um index para testar o arquivo
echo "Digite algo para constar no index"
read texto
touch /var/www/$server/index.html
echo "$texto" >> /var/www/$server/index.html
echo "Atualizando arquivo hosts"
echo "127.0.0.1 $server www.$server" >> /etc/hosts
echo "Reiniciando apache";
/etc/init.d/apache2 restart
echo "Virtual Host Criado";
logger - WGR MF LOG = NOVO DOMINIO $server ADICIONADO
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
RemoveDominio() {
echo "Digite o nome do dominio que deseja remover(sem o www)"
hostss=$(cat /etc/hosts)
echo "$hostss"
echo "Obs: Digite apenas nomedodominio.com.br"
read serverd
#removendo a pasta onde estao os arquivos, e retirando do apache
rm -fr /var/www/$serverd
rm /etc/apache2/sites-available/$serverd
rm /etc/apache2/sites-enabled/$serverd
#Removendo a linha onde ha o dominio
sed -i "/$serverd/d" /etc/hosts
logger - WGR MF LOG = NOVO DOMINIO $serverd REMOVIDO
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
VerificaCpu() {
var=$(top -n1 | grep 'Cpu(s)')
echo "$var"
logger - WGR MF LOG = CPU STATUS = $var
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
VerificaRam() {
#Verificando uso de memoria
# Porcentagem maxima considerada
perc_max=85
# Total da memoria:
ramtotal=`grep -F "MemTotal:" < /proc/meminfo | awk '{print $2}'`
ramlivre=`grep -F "MemFree:" < /proc/meminfo | awk '{print $2}'`
# RAM utilizada pelo sistema:
ramusada=`expr $ramtotal - $ramlivre`
let porc_ut="$ramusada * 100 / $ramtotal"
echo "Maximo de consumo de RAM considerado= $perc_max %"
if [ $porc_ut -gt $perc_max ]
then
#Caso a memoria esteja acima do uso considerado normal,sera enviado um email ao administrador
echo "Memoria acima do maximo considerado"
EnviaEmail
logger - WGR MF LOG = Email enviado ao Administrador do sistema
else
echo "Memoria abaixo do maximo considerado. Usando $porc_ut % "
fi
logger - WGR MF LOG = Status da memoria = $porc_ut
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
VerificaProc() {
top -n1
logger - WGR MF LOG = Verificados os processos mais pesados
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
VerificaApache() {
echo "Carregando Informacoes.....aguarde...."
result=$(nmap -A 127.0.0.1| grep 80)
echo "$result"
logger - WGR MF LOG = Status do Apache = $result
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
EnviaEmail() {
# Assunto do email
SUBJECT="***** Problema no servidor *****"
# Destino
EMAIL="administrator@localhost.com"
#Arquivo onde ficara armazenada a mensagem
emailmsg="/tmp/mensagemdeemail.txt"
#Mensagem de texto
echo "Problema no servidor" > $emailmsg
echo "Foi constatado um problema no servidor, favor verificar">>$emailmsg
#envio do email via /bin/mail
mail -s "$SUBJECT" "$EMAIL" < $emailmsg
echo "Mensagem de alerta enviada!"
echo "Digite enter para voltar ao Menu Principal"
logger - WGR MF LOG = Email enviado
read
}
Sair() {
echo
echo " Finalizando "
echo
echo
exit
}
Menu
Solus_Linux_Otimizacao_Limpeza_e_Tutorial_20_comandos do_Terminal_Linux
script_otimizar_limpeza_Linux_Mint_18-3.sh
Gerar lista de IPs em arquivo texto
Shell Script para adicionar um usuário a todos os grupos do sistema
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









