Mostrando postagens com marcador Linux. Mostrar todas as postagens
Mostrando postagens com marcador Linux. Mostrar todas as postagens

sexta-feira, 26 de agosto de 2016

Criar relação de confiança entre Linux com SSH

Execute a linha de comando abaixo para criar as chaves criptografadas:

ssh-keygen –b 1024 –t rsa

Logo após isso, será solicitado o local e as senhas para a chave, pressione [Enter] em todas as mensagens, sem alterar nada, pois dessa forma, a senha ficará em branco.

Agora, após a chave ter sido criada, é necessário copiá-la para o servidor de destino, para isso, utilize a linhas a seguir:

cd /root/.ssh/
scp id_rsa.pub usuario@hostremoto:/root/.ssh/authorized_keys

quarta-feira, 22 de junho de 2016

Script DiskFree para Linux

#!/bin/bash
THRESHOLD="20"
EMAIL="user@empresa.com.br"

df -P | awk '{print $6"\t"$5}' |grep "%" | while read LINE; do
PERC=`echo $LINE |awk '{print $2}' |cut -d"%" -f1`
if [ $PERC -gt $THRESHOLD ]; then
   echo "ALERT $LINE UTILIZADO em `hostname`" | /bin/mail -s "Disk Space Alert: ${LINE} used on `hostname`" $EMAIL
fi
done
#

domingo, 19 de junho de 2016

mySQL - Backups e Restore

Realizar o backup com o banco parado “fechado”

Observação: O diretório: /var/lib/mysql é o local onde o mySQL armazena a base de dados.

# /etc/init.d/mysql stop
# tar -zcvf mysql.tar.gz /var/lib/mysql/
# /etc/init.d/mysql start

Realizar o backup com o mySQL em execução “aberto”

Para isso, é necessário utilizer o executável mysqldump.

Para salvar todas as base de dados existentes, execute:

# mysqldump -u root -p --add-drop-table -x -e -A > backup.sql

Onde:

-u root – Especifica qual o usuário que irá conectar no mySQL para executar o backup;
-p – Irá solicitor a senha do usuário especificado na opção –u;
--add-drop-table – Utilizado quando for restaurar esse backup, caso já exista a base no destino, a mesma será sobre escrita;
-x – trava as bases de dados no momento em que cada uma é copiada, evitando qualquer problema de inconsistência;
-e – Utilizada para otimizar o processo de backup, permitindo ao mysqldump combinar argumentos INSERT dentro das tabelas, tornando o backup e restauração mais rápidos;
-a – Informa que é para fazer um backup completo de todas as bases de dados existentes;
- > – Redireciona para um arquivo de texto que conterá o backup.

Realizar o restore da base de dados mySQL

Observação: Para restaurar um backup deve-se utilizar o utilitário mysql

mysql -u root -p12345 --database=nome_da_base < backup.sql

Se a base já existir no destino, será retornada a mensagem de erro abaixo:

ERROR 1050 at line 19: Table 'xpto' already exists

Caso isso ocorra, será necessário deletar a base de dados existente no destino, com o procedimento abaixo:

# mysql -u root -p
Enter password:
mysql> DROP DATABASE xpto;
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE DATABASE xpto;
mysql> exit

Bye

Ocomon - Script para Backup

#!/bin/bash

#PARAMETROS
data=`date +%Y%m%d`
mutt='/usr/bin/mutt'
find='/usr/bin/find'
rm='/bin/rm'
null="/dev/null"
ls='/bin/ls'
mysqldump='/usr/bin/mysqldump'

cd /home/backup/ocomon

#Gera o arquivo de backup
$mysqldump -u ocomon --password=senha --opt ocomon > bkp_dump_ocomon_$data.sql

#Lista o diretório após o arquivo ser gerado
$ls -lh > lista_dir.txt

#Informa o Usuário sobre o Backup
$mutt usuario@empresa.com.br -s "Backup Ocomon - $data" -a lista_dir.txt < $null

#Deleta o backup com data maior que 48 horas
$find -type f -mtime 2 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 3 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 4 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 5 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 6 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 7 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 8 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 9 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 10 -iname "bkp_dump*" -exec $rm -f {} \;
$find -type f -mtime 11 -iname "bkp_dump*" -exec $rm -f {} \;

$find -type f -mtime 12 -iname "bkp_dump*" -exec $rm -f {} \;

Ocomon - Configurando Layout para qualquer navegador

Na pasta do ocomon, dentro de includes/css/estilos.css.php, localize o código:

print “body
{
font-family: tahoma;
color:black;
font-size:11px;
background-color:”.$row['tm_color_body'].”;
} “;/*#cde5ff background-color:#d9d8da; 5E515B font-size: 11px; */

Logo após esta linha, adicione:

print “
#centro {
min-width: 140px;
width: 140px;

}”;

Ocomon - Migrando Base de Dados Ocomon

Existe a necessidade de migrar as informações da antiga instalação do ocomon existente em um antigo ocomon para o novo equipamento com essa nova instalação do ocomon.

Para isso, acesse o servidor antigo e gere o dump com o comando abaixo:

mysqldump -u root -p --opt ocomon > dump.sql

Executando a importação, para isso, acesse o novo servidor e execute o comando abaixo:
mysql -u root -p senha database_name < dump.sql


Nesse momento, ao acessar a página do ocomon, deve ser observado que todas as informações já estão prontas para a utilização, podendo desligar o antigo ocomon no servidor antigo.

sexta-feira, 27 de maio de 2016

TAR - Compactação e Descompactação

TAR

Gerar arquivo .tar:
tar -zcf nome_diretorio_ou_arquivo.tar diretorio_ou_arquivo_a_ser_compactado


Descompactar arquivo .tar:
tar -zxvf arquivo.tar

terça-feira, 24 de maio de 2016

mySQL - Comandos Úteis

mySQL

Conectar no mySQL

mysql -u root -p

Mostra o charset que esta sendo utilizado pelo mySQL

Esse comando é útil para saber qual o tipo de charset esta configurado no mySQL, normalmente necessário para analisar problemas de acentuação.
SHOW VARIABLES LIKE 'character%';

Para alterar os valor é necessário utilizar a instrução set, conforme exemplo abaixo:
set character_set_server = utf8;

Conceder permissão no mySQL

GRANT [tipo de permissão] ON [nome da base de dados].[nome da tabela] TO ‘[nome do usuário]’@'localhost’;

flush privileges


quarta-feira, 4 de maio de 2016

Regra com Iptables para mascarar IP Interno

Hoje precisei realizar o mascaramento do IP Interno do meu roteador para que a comunicação conseguisse chegar em um switch/roteador, ligado na mesma rede, para atender um equipamento específico.

No roteador em questão possuo algumas placas virtuais na Eth0, pois tenho somente uma interface física Eth0.

iptables -I FORWARD -i eth0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -d IP_DESTINO -s FAIXA_ORIGEM/24 -p tcp -j SNAT --to IP_DESSE_IPTABLES

sexta-feira, 1 de abril de 2016

Ocomon - Extrair relatórios de Indicadores de T.I. direto do mySQL

Segue abaixo o SQL que deve ser executado no banco de dados mySQL com o schema: ocomon, essa consulta irá trazer os indicadores que devem ser salvos na planilha mensal para que seja gerado os gráficos.

use ocomon;
SELECT o.Numero,
p.problema AS Tipo,
cat.probt1_desc as Categoria,
o.contato AS Contato,
o.descricao AS Descrição,
m.solucao AS Solução,
s.sistema AS Área,
l.local AS Localização,
t.status AS Situação,
data_abertura AS Abertura,
data_fechamento AS Fechamento,
login AS Analista
FROM
ocorrencias AS o
INNER JOIN sistemas AS s ON o.sistema = s.sis_id
INNER JOIN usuarios AS u ON o.operador = u.user_id
INNER JOIN problemas AS p ON o.problema = p.prob_id
INNER JOIN prob_tipo_1 AS cat ON cat.probt1_cod = p.prob_tipo_1
INNER JOIN localizacao AS l ON o.local = l.loc_id
INNER JOIN status AS t ON o.status = t.stat_id
LEFT JOIN prob_tipo_3 AS c ON c.probt3_cod = p.prob_tipo_3
LEFT JOIN solucoes AS m on o.numero = m.numero

WHERE t.stat_id IN (1,2,3,4,7,12,15,16,19,21,22,28,29,25,26,27,30,31)
AND data_fechamento BETWEEN '2016-01-01 00:00:00' AND '2016-01-31 23:59:59'
AND (s.sistema = 'TI_Sistemas' OR s.sistema = 'TI_Suporte')
GROUP BY
p.problema,
c.probt3_desc,
s.sistema,
l.local,
numero,
t.status,
data_abertura,
data_fechamento,
login,
DATE_FORMAT(data_abertura, '%Y-%m'),
o.descricao,
m.solucao
ORDER BY 1

Copiar o SQL acima para um notepad e depois executá-lo no mySQL.

Observação:

  • Com os dados retornados será possível criar uma planilha no Excel para gerar gráficos. Adeque os campos s.sistema acima, conforme os grupo de atendimento em sua empresa, aqui eu separei o Ocomon em dois grupos distintos para atendimento, que são: "TI_Sistemas" que são os programadores que atendem e o grupo "TI_Suporte" que são os analistas de suporte que atendem.
  • O valor datas no Where deve ser alterado para o período que você deseja extrair o seu relatório.
  • Montei uma planilha em Excel e criei algumas Abas, em uma delas, eu insiro o retorno do Select acima e nas demais Abas, eu criei gráficos e apontamentos diretamente no Excel, pois achei mais fácil e já que não tenho conhecimento suficiente em PHP para alterar no próprio Ocomon.

quarta-feira, 30 de março de 2016

Desativar SELinux no CentOS 7 64 bits

Acesse o arquivo: vi /etc/sysconfig/selinux e altere a linha abaixo:

de:

SELINUX=enforcing

para:

SELINUX=disabled

Execute o comando abaixo para o parâmetro acima seja carregado.

setenforce 0

Verifique se funcionou executando o comando abaixo. Deve retornar o valor "Disabled"

getenforce


sexta-feira, 9 de agosto de 2013

Filtrando endereço de Spam de Arquivo Texto no Linux

Hoje eu precisei melhorar o meu sistema de Antispam e extrai através do banco de dados todos os endereços de Spam, aqueles caras que ficam enviando propaganda para o meu servidor de e-mail.

Pois bem, o meu servidor de e-mail possui um sistema de Antispam muito bom, e barra 90% dos spam, ocorre que os e-mails de spam que ficam parados na Quarentena, fica ocupando espaço no meu HD e eu não quero isso.

Para resolver isso, criei um arquivo de texto com todos os endereços de e-mails dos remetentes de spams, e precisei encontrar uma forma de listar os domínios, ou seja, tudo que vem depois do "@" apos o nome do remetente.

Para isso, utilizei o nosso amigo cut no Linux com o comando abaixo:

cut -f2 -d\@ teste.txt

Na linha acima eu chamei o cut e falei pra ele, que dentro do arquivo teste.txt existe os nomes dos endereços de e-mail, falei pra ele que o meu delimitador é o "@", conforme a opção -d\@ essa barra é para falar para o bash não interpretar o "@" como sendo um comando, mas sim um simples caractere de teclado.
E na opção -f2, falei que quero que me traga o que vier depois do "@", ou seja, o segundo campo.


Ok, percebi que alguns domínios devem ser excluídos desse processamento, por exemplo, o do próprio gmail, para isso, alterei a linha de comando acima para:

cut -f2 -d\@ teste.txt | sed '/gmail/d' > blacklist.txt

Ok, agora eu consegui gerar o arquivo blacklist.txt com os domínios, com esse arquivo eu posso fazer um for, enviando domínio a domínio para o meu blacklist dentro do meu sistema de Antispam.

terça-feira, 2 de julho de 2013

Redimensionar e diminuir tamanho de imagens no Linux

Autor: Breny Ricardo Martins Coelho
Boa tarde.

Abaixo, segue o conteúdo do script que eu criei para diminuir o tamanho das imagens .JPG no meu servidor.

#!/bin/bash
#
#CONSTANTES
convert="/usr/local/imagemagick/bin/convert"
dir_tmp="/home/breny/tmp/"
dir_img="/home/breny/img"
chmod="/bin/chmod"
chown="/bin/chown"
find="/usr/bin/find"
lsjpg='/bin/ls -1 *.jpeg'
imagem="/bin/cat lista"

#EXECUCAO
cd $dir_tmp
$lsjpg > lista

for s in `$imagem`
        do
                echo $s
                #$convert -resize 2304x768 -crop '1280x720+0+0' +profile '*' $s $dir_img/$s
                $convert -antialias +profile '*' -quality 40 $s $dir_img/$s
                #$convert -antialias +profile '*' -resize 1024x768 $s $dir_img/$s
done

quarta-feira, 12 de junho de 2013

Ocomon – Instalação e Configuração

Autor: Breny Ricardo M. Coelho
Contatos:
Twitter: @brenyricardo

Ambiente:

Red Hat Enterprise Linux 5

Requerimento:

perl-DBI-1.52-2.el5.i386.rpm
mysql-5.0.77-4.el5_5.4.i386.rpm
mysql-devel-5.0.77-4.el5_5.4.i386.rpm
perl-DBD-MySQL-3.0007-2.el5.i386.rpm
mysql-server-5.0.77-4.el5_5.4.i386.rpm
mysql-test-5.0.77-4.el5_5.4.i386.rpm
php-5.1.6-27.el5_5.3
php-common-5.1.6-27.el5_5.3
php-cli-5.1.6-27.el5_5.3
php-pdo-5.1.6-27.el5_5.3.i386.rpm
php-mysql-5.1.6-27.el5_5.3.i386.rpm
php-gd-5.1.6-27.el5_5.3.i386.rpm

Observação: Como até o momento esse servidor Red Hat Enterprise Linux 5 não foi registrado com a Red Hat, estou impossibilitado de executar a instalação através do yum, por esse motivo, realizei a instalação manualmente com o rpm -ivh, levei em consideração a ordem de instalação necessária para satisfazer as dependências existentes entre os pacotes descritos acima. Dessa forma, os pacotes descritos acima, seguem a ordem de instalação de cima para baixo.

Para realizar a instalação de cada pacote é necessário executar o comando: rpm -ivh seguido do nome do pacote que será instalado, seguindo a ordem mencionada no requerimento.
rpm -ivh perl-DBI-1.52-2.el5.i386.rpm
rpm -ivh mysql-5.0.77-4.el5_5.4.i386.rpm
rpm -ivh mysql-devel-5.0.77-4.el5_5.4.i386.rpm
rpm -ivh perl-DBD-MySQL-3.0007-2.el5.i386.rpm
rpm -ivh mysql-server-5.0.77-4.el5_5.4.i386.rpm
rpm -ivh mysql-test-5.0.77-4.el5_5.4.i386.rpm
rpm -ivh php-pdo-5.1.6-27.el5_5.3.i386.rpm
rpm -ivh php-mysql-5.1.6-27.el5_5.3.i386.rpm
rpm -ivh php-gd-5.1.6-27.el5_5.3.i386.rpm

Após realizar a instalação dos pacotes acima o mysql utilizara o diretório: /var/lib/mysql para o dicionário de dados do mysql e inicialmente um banco de teste, localizado dentro do diretório: /var/lib/mysql como mysql e test. 

Criar a senha para o usuário root no mySQL

O mysql utiliza ACLs para permitir que os seus usuários consigam conectar, inicialmente é necessário criar a senha para o usuário root do banco, para isso execute o comando abaixo:

service mysqld start
mysqladmin -u root password insira_a_nova_senha_aqui
mysqladmin -u root -h localhost password insira_a_nova_senha_aqui

Dependendo de como o usuário root irá se conectar no banco, cadastramos as senhas seguindo o mesmo conceito.

Após isso podemos conectar no mysql com o usuário root, executando o comando abaixo:

mysql –u root –p

Será solicitada a senha cadastrada para o usuário root

Será disponibilizado o prompt de comando do mysql
> 

Execute a instrução abaixo para que o mysql mostre os bancos existentes:

>show databases;

+-----------------------------+
| Database                |
+-----------------------------+
| information_schema |
| mysql                     |
| test                        |
+-----------------------------+
3 rows in set (0.00 sec)

Com isso terminamos o procedimento de instalação do mysql.

Aumentando a segurança do Mysql

Execute o script mysql_secure_installation para que o mesmo reconfigure alguns parâmetros para aumentar a segurança do mysql.

Instalando o ocomon

O ocomon é um sistema para o gerenciamento de chamados abertos para o help desk da empresa.

Realize o download do arquivo: ocomon_2.0-RC6.zip no seguinte link: http://sourceforge.net/projects/ocomonphp/files/

Salve o mesmo no servidor e após concluir o download, execute o comando abaixo para descompactar e gerar um novo diretório para realizar a instalação:

[root@localhost]# unzip ocomon_2.0-RC6.zip

Será criado o diretório:
ocomon_2.0-RC6

Crie o diretório ocomon dentro diretório root do Apache para que o servidor Apache possa publicar esses arquivos, execute os comandos abaixo para isso:

[root@localhost]# mkdir /var/www/html/ocomon/
[root@localhost]# rsync -av ocomon_2.0-RC6/ /var/www/html/ocomon/

Acesse o diretório que possui o script para popular o mysql com a estrutura de tabelas utilizadas pelo ocomon:

[root@localhost]# cd /var/www/html/ocomon/install/2.0RC6/

Edite o arquivo: DB_OCOMON_2.0RC6_FULL.SQL alterando o nome do banco. Siga as linhas abaixo e substitua as linhas semelhantes no arquivo com os exemplos abaixo:

CREATE DATABASE ocomon DEFAULT CHARACTER SET utf8;
CREATE USER ocomon IDENTIFIED BY 'senha_do_usuario';
GRANT SELECT , INSERT , UPDATE , DELETE ON ocomon .* TO ocomon@localhost;
GRANT ALL PRIVILEGES ON ocomon.* TO ocomon@localhost IDENTIFIED BY 'senha do usuario ocomon;
USE ocomon;

Salve o arquivo e execute o comando abaixo para iniciar a criação:

[root@localhost]# mysql -u root -p < DB_OCOMON_2.0RC6_FULL.SQL

Após esse procedimento, o banco, o usuário e as tabelas estarão criadas no mysql.

Agora é necessário alterar o arquivo de parâmetros do próprio ocomon, para isso, execute:

[root@localhost]# /var/www/html/ocomon/includes
[root@localhost]# mv config.inc.php-dist config.inc.php

Acesse o arquivo: config.inc.php e altere o nome do banco para o nome indicado dentro do script executado para criar o banco

[root@localhost]# vi config.inc.php

Encontrar as linhas semelhante as abaixo e alterar seguindo esse exemplo:

define ( "SQL_USER", "ocomon");
define ( "SQL_PASSWD", "senha_do_banco");
define ( "SQL_SERVER", "localhost");
define ( "SQL_DB", "ocomon");
define ( "DB_CCUSTO","ocomon");

Essas informações são as mesmas informadas dentro do script que criou o banco.

Observação: Ao terminar esse processo, verifiquei que o PHP não estava conseguindo logar com o usuário ocomon no mysql, retornando a mensagem “Access denied for user 'ocomon'@'localhost' (using password: YES)”. Ao analisar o motivo, identifiquei que não havia informado o mysql para dar permissão para o usuário ocomon logar no banco.

Para conceder essa permissão para o usuário ocomon, logue-se com o usuário root no mysql com o comando: mysql –u root –p

Após logar, execute a linha abaixo:

> GRANT ALL PRIVILEGES ON ocomon.* TO ocomon@localhost IDENTIFIED BY 'senha do usuario ocomon;

Essa mesma linha pode ser inserida no script que cria o banco para o ocomon, dessa forma, não sendo necessário executar ela agora, com o usuário root.

Após realizar o passo acima, a página do ocomon já estará disponível através do endereço especificado no servidor web, no contexto desse documento, o acesso a página é feito acessando o link: http://ocomon.empresa.com.br/

Como é o primeiro acesso, o usuário a ser utilizado é o: admin e a senha: admin

Altere a senha do usuário admin quando possível.