Adicionar e Remover Dominios Virtuais do Apache
Publicado por Gardy Erickson de Padua (última atualização em 15/12/2011)
[ Hits: 10.773 ]
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
Atualiza núcleo do sistema para Kernel 4.4 (Ubuntu)
Script simples para pegar informações sobre placa de rede
Verifica os maiores arquivos no diretório informado
Alteração rápida de permissões, e usuários
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Dica para encontrar diversos jogos Indies criativos
Instalando Discord no Debian 13
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Software livre - será que eu estou tão errado assim? (14)
Boot do PosRog so funciona em notebook (1)