Script para automatizar backup MySQL

Olá Amigos.

Recentemente tive que implementar o backup diário de uma base de dados  MySQL e decidi compartilhar o script para execução desta atividade.

A implementação é simples, após criado o script dentro da pasta do sistema, o mesmo foi adicionado na Crontab para rodar todos os dias a noite.

Obs: Abaixo deve ser substituído o nome  da base, usuario e senha.

Script:

#!/bin/bash

#################### SCRIPT PARA BACKUP MYSQL ####################

# Definindo parametros do sistema
echo " -- Definindo parametros do sistema ..."
DATE=`date +%Y-%m-%d`
MYSQLDUMP=/usr/bin/mysqldump
BACKUP_DIR=/backup
BACKUP_NAME=mysql-$DATE.sql
BACKUP_TAR=mysql-$DATE.tar

#Gerando arquivo sql
echo " -- Gerando Backup da base de dados em $BACKUP_DIR/$BACKUP_NAME ..."
$MYSQLDUMP NOMDABASE-u USUARIO -SENHA > $BACKUP_DIR/$BACKUP_NAME

# Compactando arquivo em tar
echo " -- Compactando arquivo em tar ..."
tar -cf $BACKUP_DIR/$BACKUP_TAR -C $BACKUP_DIR $BACKUP_NAME

# Excluindo arquivos desnecessarios
echo " -- Excluindo arquivos desnecessarios ..."
rm -rf $BACKUP_DIR/$BACKUP_NAME

cd $BACKUP_DIR || exit 1
for file in mysql*tar
do
[ $file = $BACKUP_TAR ] && continue
gzip $file
done

Agendamento das execuções (crontab)

Para editar o crontab do root, com o editor padrão do sistema:

$sudo crontab -e

O comando abaixo faz crontab executar o script /opt/scripts/backup_mysql.sh todos os dias da semana às 05 a.m.

00 05 * * * /opt/scripts/backup_mysql.sh

Bom amigos, qualquer problema ou duvida fico a disposição.

 

Continue Reading

Script para automatizar a instalação do Zabbix Agente

Olá Amigos.
Recentemente venho trabalhando bastante com o Zabbix que me surpreendeu pela eficiência e facilidade que a ferramenta tem de se moldar ao seu ambiente.

O agente Zabbix é instalado no dispositivo a ser monitorado, também monitora ativamente os recursos e aplicações locais (discos e partições, memória, estatísticas do processador, etc).
O que mais me chama atenção é que o agente Zabbix são muito eficientes pois utilizam chamadas nativas do sistema operacional para obter as informações estatísticas.

O agente Zabbix é suportado por:
• Linux
• IBM AIX
• FreeBSD
• NetBSD
• OpenBSD
• HP-UX
• Mac OS X
• Solaris: 9, 10, 11
• Windows: 2000, Server 2003, XP, Vista, Server 2008, 2012, 2016 , 7 , 8 10

O problema:

Há alguns dias tive o problema de ter que publicar para todos os servidores da empresa o Zabbix, e a ideia que tive foi fazer um script para copiar os executáveis do monitoramento e criar o arquivo de configuração pegando o nome do servidor e passando para o arquivo de configuração.
Depois do script criado a minha ideia foi utilizar um GPO para aplicar esse script para OU que contem os servidores. Basicamente uma solução rápida.

Segue abaixo o script:

@echo off
REM #
REM #versao mark-v0.2#
REM #
REM #NOME#
REM #instala_zabbix.exe#
REM #
REM #DESCRICAO#
REM #Instalao Zabbix via rede nos servidores Windows#
REM #
REM #
REM #GERALDO LUCAS POLI (27/07/2018)#
REM # Verifica existencia diretório Zabbix #

REM #MODULO 1#
IF EXIST "c:\Zabbix\zabbix_agentd.exe" (exit) ELSE (echo "Iniciando a instalacao do Zabbix Agent")
REM #
REM # Exibe mensagem na tela#
echo Copiando Arquivos

REM #MODULO 2 - Criar o diretório na máquina#
mkdir c:\zabbix
echo Pasta zabbix criada no C:

REM #MODULO 3 - Realiza a cópia dos binários para o sistema#
xcopy \\192.168.2.12\zabbix\zabbix_agents_3.4.6.win\bin\win64\zabbix_agentd.exe c:\zabbix\
xcopy \\192.168.2.12\zabbix\zabbix_agents_3.4.6.win\bin\win64\zabbix_get.exe c:\zabbix\
xcopy \\192.168.2.12\zabbix\zabbix_agents_3.4.6.win\bin\win64\zabbix_sender.exe c:\zabbix\

REM #MODULO 4 *PUNK* - Cria arquivo de configuração e define nome do servidor #
echo Criando Arquivos de configuracao
echo Server=192.168.1.26 > c:\zabbix\zabbix_agentd.conf
echo Hostname=%COMPUTERNAME% >> c:\zabbix\zabbix_agentd.conf
echo StartAgents=5 >> c:\zabbix\zabbix_agentd.conf
echo DebugLevel=3 >> c:\zabbix\zabbix_agentd.conf
echo LogFile=c:\zabbix\zabbix_agentd.log >> c:\zabbix\zabbix_agentd.conf
echo Timeout=5 >> c:\zabbix\zabbix_agentd.conf
echo EnableRemoteCommands=1 >> C:\zabbix\zabbix_agentd.conf

REM #MODULO 4 - Ajustes Finais #
echo Instalando o Serviço
C:\zabbix\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.conf
C:\zabbix\zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.conf
echo As configuracoes para o servidor %COMPUTERNAME% foram criadas em %date% as %time%
echo As configuracoes para o servidor %COMPUTERNAME% foram criadas em %date% as %time% > c:\Zabbix\inst_agent.log
pause

 

Link do código sempre atualizado no GIT:

GitHub

Considerações:

Podemos ver que o script é bem simples.
Dividi ele em  4 módulos para ficar mais fácil o entendimento, qualquer duvida estou a disposição.

Até a próxima.

Continue Reading

Migrando Servidor de Impressão do Windows Server 2008 para Windows Server 2012 ou 2016

Olá amigos, satisfação em escrever novamente para vocês.

Nesta postagem veremos como realizar a migração da função Print and Document Services de um servidor Windows 2008 R2 para o servidor Windows Server 2012 de destino.

Antes de iniciar o processo de migração, você deve garantir que a função Print and Document Services esteja instalada no servidor de destino.

Faça backup do servidor de origem (nosso servidor 2008 R2) usando o Assistente de Migração de Impressora.

A partir do nosso Windows Server 2012, usaremos o console Gerenciamento de Impressão para executar a migração.

1- Abra o Gerenciador de Servidores, clique em Ferramentas e, em seguida, clique em Gerenciamento de Impressão.

2- Clique com o botão direito em Gerenciamento de Impressão e selecione Migrar Impressora.

3- Selecione “Exportar filas de impressora e drivers de impressora para um arquivo” e clique em Avançar

4 – Forneça o nome do servidor do qual você deseja extrair para arquivo os drivers da impressora, depois clique em próximo.

5- Revise a lista e clique em Avançar

6- Forneça um local e um nome de arquivo para salvar os dados extraídos e clique em Avançar

7- Quando a exportação estiver concluída, clique em finalizar.

Processo de exportação finalizado. Agora vamos iniciar a importação.

2- Restaurar impressoras no servidor de destino usando o Assistente de Migração de Impressora

1- Clique com o botão direito do mouse em Gerenciamento de Impressão e clique em Migrar Impressoras para abrir o Assistente de Migração de Impressora. Selecione Importar arquivo de impressora e drivers de impressora de um arquivo e clique em Avançar

Depois de selecionar o arquivo que criamos quando exportamos as filas de impressão e os drivers, clique em Avançar

2- Revise as impressoras a serem importadas e clique em Avançar.

3- Selecione o servidor local se estiver executando o console de Gerenciamento de Impressão do servidor de destino, ou selecione o servidor apropriado em seu domínio, selecionando “Um servidor de impressão na rede”

4- Defina as opções de importação e clique em Avançar

Depois de renomear o servidor de destino para o nome original do servidor de origem, você pode publicar todas as impressoras no servidor de destino no AD DS.

Podemos ver como é facil exportar as configurações de impressora e subir um novo servidor com as configurações originais.

Qualquer duvida estou a disposição.

Continue Reading

Como habilitar o acesso a SSH com root no Ubuntu 16.04

Olá amigos, satisfação em escrever novamente para vocês.

A dica de hoje é recomendada para ambientes de testes ou caso extremos de acesso direto com root. Pois querendo ou não isso é uma falha de segurança para seu servidor. Recentemente tive uma demanda entre dois servidores linux Ubuntu, aonde um script de automação que estava sendo executado pelo Jenkins precisava de acesso root ao ssh remoto.

Com isso o Ubuntu 16.04 bloqueia o acesso direto ao root, porem abaixo veremos como mudar essa configuração.

Nota: Certifique-se de ter o serviço openssh-server instalado,  caso não tenha o comando está abaixo para instalar:

sudo apt-get install openssh-server

Abrir o arquivo de configuração do SSH para realizar as alterações:

vim /etc/ssh/sshd_config

Procurar pela linha abaixo para realizar a alteração:

PermitRootLogin prohibit-password

E alterara a linha PermitRootLogin prohibit-password  para a linha abaixo:

PermitRootLogin yes

Também existe a possibilidade de rodar um comando que executa a mesma operação acima, segue abaixo:

sudo sed -i 's/prohibit-password/yes/' /etc/ssh/sshd_config

Apos isso apenas precisamos reiniciar o serviço do SSH com o comando abaixo:

sudo service ssh restart

Simples né? Qualquer problema ou duvida nos avisem.

Obrigado e até a próxima.

Continue Reading

Adicionando php-pecl-apcu no CentOS 7 para ownCloud 8 ou superior

Olá amigos, satisfação em escrever novamente para vocês.

Recentemente estava realizando o setup de um servidor para nuvem utilizando o Owncloud, e na pagina de administração é informado alguns alertas na qual o administrador precisa verificar para que o sistema funcione em perfeito estado.

A página de administração do ownCloud informa que não há cahce de memória habilitado. Um pequeno trabalho precisa ser feito para deixar todo o sistema operando sem nenhum alerta. As instruções gerais podem ser encontradas na documentação do ownCloud.

O APCu está disponível apenas no PHP 5.5 ou superior. A documentação do ownCloud possui instruções para instalar uma solução diferente se você estiver executando o PHP 5.4.

Supondo que você realizou a instalação no PHP 5.5 ou superior, verá que a ativação  é bem simples com os comandos abaixo.

Dependendo de como você habilita o repo, a instalação é tão simples quanto executar um comando yum install.

yum install php-pecl-apcu

Se você precisar habilitar o repositório manualmente, você pode adicionar o comando –enablerepo = remi-php56 (ou 55) ao yum.

Uma vez instalado, reinicie o Apache

systemctl restart httpd

Agora você basicamente atualiza sua configuração do ownCloud para fazer uso da função.

vim /var/www/html/owncloud/config/config.php

Adicione isto à configuração.

'memcache.local' => '\OC\Memcache\APCu',

Da próxima vez que você for ao painel de controle do administrador, o aviso do memcache será removido.

Qualquer duvida estou a disposição.

Continue Reading