Adicionar e Remover Dominios Virtuais do Apache
Publicado por Gardy Erickson de Padua (última atualização em 15/12/2011)
[ Hits: 10.320 ]
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
Extrair ID de jogos de PS1 e PS2
organização_topografia primeiro arquivo
Shell Script para adicionar um usuário a todos os grupos do sistema
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Não consigo acessar os modos de desempenho (1)
Criar um script para testar pen drive (5)
Problema com alias usando locate (4)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba