01 02

Backup com Shell Script

Oi pessoal, A seguir um simples e útil script para backup, com exclusão de arquivos antigos, backup completo do banco MySQL e determinadas pastas do servidor. O que faz: - Copia os arquivos a serem backupeados para um diretório temporário ($base_tmp). Estes arquivos são mantidos por 5 dias. - Logo após, no final do script, a base principal ($base_principal) é atualizada com os arquivos do diretório temporário. Os arquivos da base principal são mantidos por 10 dias. - O backup das configurações do servidor são mantidos na base principal ($base_principal) por 360 dias, por serem arquivos pequenos. # Paz. # É o Senhor que mostra os caminhos. #

Por: Marcelo Viana


Verificar atividade de serviços no Tomcat

Este script roda em background no sistema a fim de verificar a atividade de uma ou mais instâncias do serviço Tomcat. Caso alguma das instâncias apresente ausência (por queda por exemplo), a mesma é ativada, restabelecendo novamente o serviço. Obs.: O mesmo script pode ser usando para outros serviços e não especificamente para o Tomcat. Funcionamento: Ao executar "sh verifica_tomcats.m.sh start" o script entra em um loop infinito, fazendo verificação dos serviços a cada 5 segundos. Sintaxe de uso: Iniciar: sh verifica_tomcats.m.sh start ou ./verifica_tomcats.m.sh start Parar: sh verifica_tomcats.m.sh stop ou ./verifica_tomcats.m.sh stop

Por: Marcelo Viana


Enviar email com PHP pelo terminal GNU/Linux

Em muitos casos, o sistema é configurado para enviar emails periodicamente ao administrador. Muitos usam algumas soluções via console, como: mail, mutt etc. Um pequeno problema encontrado (pelo menos eu encontrei!) nestas soluções é alterar o remetente do email para um endereço específico que não seja o usuário que está executando a ação ou rotina de envio. Por exemplo: se eu estou no usuário "root" e executo o comando "mail -s "assunto" destino@exemplo.com < corpo_do_email.txt", o email será enviado como remetente "root@exemplo.com". Então para resolver isso, usei um arquivo em PHP contendo o cabeçalho "#!/usr/bin/php", que é o caminho do interpretador do PHP no sistema. Obs.: O PHP deve está instalado e funcionando! Sintaxe: ./php_terminal.php

Por: Marcelo Viana


Plugin BACULA

INTRODUÇÃO: Pequena contribuição de três scripts para auxiliar de forma organizada e fácil na CRIAÇÃO e REMOÇÃO de CLIENTES para o SERVIDOR de backup BACULA. SCRIPT 1: criar_cliente.sh: este script gera um novo cliente ou gera e instala se usado com a opção "--instalar". Ao executar, serão solicitadas informações do novo cliente como: nome, IP do cliente, IP do storage e o diretório do cliente que será backupeado. Após, serão criados dois arquivos .conf, um com a configuração padrão do cliente e outro com a configuração de storage. Obs.: Os arquivos .conf gerados só serão vistos se a opção "--instalar" NÃO for usada. Se a opção "--instalar" for usada, os arquivos serão movidos para os respectivos diretórios. Obs. 2: Caso um cliente seja instalado mais de uma vez (duplicando do nome) com mesmo nome, um erro será exibido ao reiniciar o Bacula. Se isso acontecer, basta executar o script "remover_cliente.sh" para limpar a duplicação. Sintaxe: # sh criar_cliente.sh (somente gera) # sh criar_cliente.sh --instalar (gera e instala) SCRIPT 2: instalar_cliente.sh: somente instala (move para os devidos diretórios) os arquivos gerados pelo script "criar_cliente.sh". Sintaxe: # sh instalar_cliente.sh: SCRIPT 3: remover_cliente.sh: remove um ou mais clientes criado pelos scripts. Sintaxe: # sh remover_cliente.sh (mostrará opções para exclusão de clientes). ESTRUTURA DE DIRETÓRIOS PADRÃO: 1 - /etc/bacula 2 - /etc/bacula/criar_cliente/ 3 - /etc/bacula/clientes/ 4 - /etc/bacula/storage_clientes/ 5 - /etc/bacula/clientes.conf 6 - /etc/bacula/clientes_storage.conf 1 - bacula: /etc/bacula/ (padrão da instalação) 2 - criar_cliente: /etc/bacula/criar_cliente/ (local home dos scripts) 3 - clientes: /etc/bacula/clientes/ (local dos arquivos .conf com a configuração de cada novo cliente gerado pelo script) 4 - storage_clientes: /etc/bacula/storage_clientes/ (local dos arquivos .conf com as informações de onde será armazenado o backup de cada cliente). 5 - clientes.conf: /etc/bacula/clientes.conf (é a ligação entre o Bacula e os scripts) 6 - clientes_storage.conf: /etc/bacula/clientes_storage.conf (indica o diretório de armazenamento de cada cliente) Aviso: Os scripts correspondem ao diretório de instalação padrão do Bacula, caso sua instalação seja diferente, deve alterar o valor das variáveis contida no cabeçalho de cada script, indicando o diretório correto da instalação. ADICIONANDO O PLUGIN AO BACULA Para instalar: # sh INSTALAR_PLUGIN.sh Obs.: Caso execute mais de uma vez a instalação do plugin, ligações duplicadas serão criadas causando erro na inicialização do Bacula. Se isso ocorrer, simplesmente execute o script abaixo para limpar as ligações, então volte e execute novamente o instalador. Para remover: # sh REMOVER_PLUGIN.sh Obs.: A remoção não apaga arquivos, somente desfaz a ligação. Nota: - Os scripts usam dois arquivos modelo para gerar os novos clientes. - Antes da utilização é necessário que o arquivo "nome_storage.conf" que fica em "/etc/bacula/criar_cliente/modelo/" seja alterado com o diretório de backup de sua preferência, acrescentando no final do diretório a palavra chave "nome", veja a seguir: # vim /etc/bacula/criar_cliente/modelo/nome_storage.conf Arhive Device = /MEU_DIRETORIO_DE_BACKUP/nome Obs.: Repare que no final do diretório acima há a palavra chave "nome", ela é extremamente fundamental para a criação das pastas e arquivos de backup dos clientes. Feito isso, entre no diretório "/etc/bacula/criar_cliente" e faça os testes. # cd /etc/bacula/criar_cliente Gerar: # sh criar_cliente.sh ou Gerar e instalar: # sh criar_cliente.sh --instalar Instalar: # sh instalar_cliente.sh Remover: # sh remover_cliente.sh Espero de verdade que isso seja útil, nem que seja só para terem novas idéias. Paz e bem, fiquem com Deus.

Por: Marcelo Viana


LoadbalanceFAILOVER

Loadbalance FAILOVER: Em um servidor com dois links de Internet, este script atuará no gerenciamento dos links. Caso o link que estiver ativo no momento, apresente erro (ou perda de conexão com a Internet por algum motivo), o script mudará o tráfego automaticamente para outro link existente. E se os dois links apresentarem problemas, então o script tenta uma reparação, restartando a rede e setando novamente as configurações: variáveis, limpeza de tabelas (iptables), roteamento, NAT e gateways. Obs.: É extremamente importante que cada gateway esteja configurado de acordo com sua interface nas VARIÁVEIS ("iface1" de acordo com "gw1" e "iface2" de acordo com "gw2") do script, para que o route trate corretamente as saídas. Exemplo: iface1=eth0 (interface) gw1="10.26.20.1" (gateway) iface2=eth1 (interface) gw2="10.15.20.1" (gateway)

Por: Marcelo Viana



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts