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
Blog com procedimentos, comandos e resolução de problemas para Oracle, Linux e TSM obtidos no meu dia a dia de trabalho como administrador Linux e DBA Oracle.
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
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
#
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
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:
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
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.
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
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
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.
Assinar:
Postagens (Atom)