Adicionar e Remover Dominios Virtuais do Apache
Publicado por Gardy Erickson de Padua (última atualização em 15/12/2011)
[ Hits: 10.583 ]
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
Gerar TinyURL (URL curta) para postar no Twitter
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
A area de trabalho ficou preta (14)
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (4)
xubuntu sem sons de eventos (4)