quarta-feira, 11 de setembro de 2019

Shell Script - Site para testar/estudar seus scripts

Faaaalaaaa pessoal, tudo bem?

Seguinte...
Dica bem rápida para quem quer começar, já se aventura ou já é fera na parte de shell script (o que não é meu caso hehe) ...

No site jdoodle é possível você realizar a criação e testes de seus scripts em shell.

Isso mesmo.
Não tem linux no seu computador, não está com acesso a nenhum ambiente linux ou não pode instalar por N motivos... tudo bem... é só estudar pelo simulador no site e testar as execuções.

Acesso ao simulador no site jdoodle

https://www.jdoodle.com/test-bash-shell-script-online

 Até a criação deste post, a estrutura do simulador é da seguinte forma:

Um espaço em branco chamado Bash Shell:



Neste espaço é onde devemos escrever nosso código. Vide que o próprio jdoodle já cria um exemplo =)

 Temos abaixo a opção de escolher a versão do shell, se será interativo a execução e a opção de passar alguns argumentos e o botão Execute que será o mesmo que a chamada do shell na linha de comando (./ ou sh):


E na última parte a saída da execução do script com os tempos de CPU e memória que foram necessárias para executar tal escript:



O tempo de execução total do script é mostrado nessa parte do lado direito.
É até importante para termos um "comparativo" de como seria o cenário de execução dele no ambiente onde vamos rodar o mesmo.

Espero que esse site possa ajudar todos assim como já me ajudou algumas vezes.

Abs e até a próxima!

Abs
:wq!












CentOS - Instalando pacote do ifconfig

Fala pessoal, tudo beleza?


Fiquei um bom tempo afastado, mas espero agora poder voltar com força total e postar conteúdos de conhecimentos adquiridos e que sejam úteis para vocês em algum momento de suas respectivas carrerias ou apenas para os momentos de estudo e conhecimento.

Na verdade o post do "retorno" é bem simples e rápido...

Estava mexendo com alguns servidores CentOS e ao precisar utilizar o comando ifconfig (até então sempre padrão rs) não estava disponível.

Ao que parece algumas distros e algumas versões minimal (pacote de instalação extremamente resumido), não estão vindo com este comando ou mesmo foi trocado pelo comanod ipaddr.

Mas, o bom é que ainda podemos fazer a instalação do mesmo. Para isso basta executar o comando abaixo como root ou com sudo e ser feliz. =)

# yum install net-tools

Não sei por que algumas coisas que são básicas e padrões, pelo menos de muito tempo, mudam assim e se tornam como opcionais.

Enfim...

Problema resolvido.
Abs

:wq!

segunda-feira, 11 de março de 2019

Smartwatch Xiaomi - Amazfit Pace

Salve pessoal, tudo bem?

Já faz um tempo que venho testando e usando todos os dias o smartwatch da Xiaomi.
O modelo que adquiri é o Amazfit Pace! Eu nunca fui muito ligado em smartwatch, mas depois de ver algumas integrações e uso durante o dia-a-dia fiquei tentado a pegar um.




Já foi antes de fazer meus comentários confirmado que recomendo!!!

Vou colocar as especificações (podem sofrer variações dado o local que os vende bem como a data de publicação do artigo, ok?).

Especificações:
Marca: Xiaomi
Modelo: Amazfit, Versão em Inglês (não possui Português)
Chip: Dual core, 1.2GHz
Memória: 512MB + 4GB
Compacibility: Android 4.4 ou acima dos telefones com BT4.0
Modo de operação: Touch Screen
Compatível com os OS: Android, IOS
Classificação à prova d'água: IP67

Bateria:
Tipo de Bateria: Lithium polymer battery
Capacidade da Bateria: 280mAh
Modo de relógio: Cerca de 11,6 dias
Modo de execução: Cerca de 5 dias

Recursos:
Rastreador Saúde: Monitor da frequência cardíaca
Música Bluetooth
Tempo
Sensor PPG sensor do ritmo cardíaco
Sensor de aceleração
Giroscópio
Sensor geomagnético
Sensor de luz
Tipo de alerta: Vibração

Conexão:
Versão Bluetooth: V4.0BLE
WiFi

Dimensões e Peso:
Tipo de Tela: 1,34 polegadas, capacitivo
Resolução: 320 * 300 pixels
Método de operação: tela de toque
Material Dial: C, orning gorilla glass
Material da Caixa: Cerâmica com Policarbonato + Zirconia
Largura: 22 mm
Peso: 53.7g
Pulseira TPU (Borracha)



Vamos agora para minhas impressões...

O maior problema que escutei pessoas reclamarem de smartwatches é em relação ao tempo de duração da bateria.
Bem no caso do Amazfit Pace, dependendo muito do uso ele pode durar até uma semana até zerar completamente a bateria.

Quando a bateria está ficando praticamente zerada, funciona apenas a função relógio. Ou seja, você não consegue utilizar nenhuma outra função.

Os recursos para quem pratica esportes é bem legal podendo fazer acompanhamento de exercícios como caminhada, corrida, ciclismo, elíptico (simulador de caminhada), tênis, futebol, dentre alguns outros.
Possui também um plano de treinamento que você pode cadastrá-lo.

Possui um controle de atividades e também análise de clima/tempo.

Controle de música do celular e do Spotify. É possível passar as músicas, ver o nome das que estão em execução no momento.

Tem a função de controle do sono, timer.

Além de poder instalar novos apks e até mesmo instalar temas diferentes dos que ele baixa pelo aplicativo de controle do Amazfit Pace pelo smartphone.

O aplicativo para controle do smartwatch você pode baixar pela loja de aplicativos do seu aparelho. É o Amazfit Watch.

Fora algumas integrações já com estes recursos do smartphone, é possível selecionar uma lista de aplicativos que vão aparecer no visor do Amazfit Pace quando receber alguma notificação. Por exemplo:

- SMS;
- Whatsapp;
- Aplicativos de investimentos / Finanças;
- Aplicativos de redes sociais (testei apenas com o Linkedin);
- Skype;
- YouTube (para quando marcamos que queremos receber notificação de vídeo novo de um determinado canal);
- Jogos;

Em resumo, ele mapeia todos os apps que você tiver instalado, mas a funcionalidade pode varias de acordo com a integração que ele consegue fazer.

Existe a possibilidade de abrir chamado na comunidade de suporte da Xiaomi. Nunca precisei usar, então não tenho como avaliar.

Em resumo:

- Preço dele é muito mais acessível do que os outros smartwatches como Apple e Samsung;
- Os recursos dele são fantásticos e funcionam muito bem;
- É confortável e fica muito bom no pulso;
- Tempo de bateria é ótimo (pelo menos para minha forma de uso);
- É possível trocar os temas (skins) e pulseira também. Lembrando que estes itens você mesmo consegue locais para baixar e sites que vendem;
- A luz dele até que é OK (poderia ter uma resolução melhor);
- Atende ou rejeita ligações;

O único contra que consigo mencionar agora é em relação aos textos de mensagem e whatsapp... Algumas vezes dado o tamanho da mensagem o texto não fica linear. É possível perceber uma "certa bagunça" na altura das letras/palavras.
Outro contra, é que ele não lê o catálogo dos seus endereços quando recebe ligações. Aparece apenas os números.

Mas creio que isso é corrigido em breve com alguma atualização ou até incomodar mais pessoas! :)

Novamente, recomendo!!!



Abs e até mais...
:wq!

terça-feira, 20 de novembro de 2018

Mount point Windows no Linux - Sem permissão de escrita

Olá pessoal, tudo bem?

A dica hoje vai para quem utiliza dual boot em seu computador (contendo Windows e Linux), e já se deparou com o erro de escrita na partição NTFS do Windows.

No meu caso, eu crio links simbólicos para minhas pastas de documentos, músicas, vídeos, etc que estão no Windows.
Isso facilita e muito para não ter que ficar reiniciando toda hora o computador para pegar um arquivo que está no Windows ou que está no Linux.

No entanto eu recebi as seguintes mensagens de erro quando tentei criar uma máquina virtual e quanto tente remontar a partição do Windows:




Este erro acontece pois em algum momento em que estava utilizando o Windows ele não foi desligado corretamente.
Nem sempre temos esse hábito de desligar o computador. Normalmente eu apenas o coloco para hibernar, já reinicio para fazer alguma outra coisa, etc. Mas isso não é um problema... Afinal, os sistemas tem que aprender a lidar com essas questões (minha opinião :D).

Para resolver este problema de dentro do Linux basta rodar os seguintes comandos:

- Primeiro, desmontar o ponto de montagem que criamos para o Windows
$sudo umount /windows

- Segundo, executar o comando que irá limpar o "cache" que está fazendo o lock na partição do Windows
$sudo ntfsfix /dev/sda3

- Terceiro, fazer o "remount" do device do Windows como rw
$sudo mount -o rw /dev/sda3

- Quarto, montar novamente a partição do Windows
$sudo mount /windows

Depois disso será possível escrever novamente na partição NTFS do Windows pelo Linux.

Abraço e até a próxima!
:wq!

segunda-feira, 18 de dezembro de 2017

Linux - Restore de volume group no mesmo servidor


Olá pessoal, tudo bem?

Podemos nos deparar com algumas situações complicadas em nosso dia a dia de trabalho e com certeza uma das mais complicados é quando perdemos algo, como um arquivo importante, um FS, um banco de dados ou até mesmo um servidor.

Temos que recorrer as nossas soluções de contorno como replicação, servidores que fazem pares e o mais comum, que é recorrer ao backup.

Mas e quando o backup não "funciona corretamente"?

Coloquei entre aspas, pois as vezes podemos nos deparar com cenários que deveriam funcionar sem problemas mas por alguma incompatibilidade seja pela versão do SO, ou do time de FS que estamos utilizando, dentre outras, pode impactar o restore de um determinado dado.

Pois bem...
Pensando no mundo virtual que temos hoje em dia, é muito comum vários ambientes rodarem em cima de virtualização.
E por consequência disso temos que ter soluções de backup que se adéquem ao nosso ambiente.

Temos soluções de backup que podem fazer snapshot de máquinas virtuais e voltar dados granulares, ou seja, de algum arquivo que precisamos e não do servidor todo.

Mas e se isso não funcionar?
Podemos subir um novo servidor e pegar os dados também?
Claro, podemos também.

Mas depois como eu copio o que preciso?
Muito provavelmente neste cenário aqui iremos utilizar rede e precisaremos de um IP temporário para este novo servidor e dependendo do time que cuida disso pode ser um tanto quanto demorado. Podemos esbarrar em problemas de regra de firewall, etc.

Vou mostrar aqui uma solução que pode ser seguida como uma alternativa.

Primeiro vamos ao cenário:

1 - Nos testes estou utilizando duas máquinas virtuais rodando em cima de Oracle Virtual Box;
2 - Cada servidor está instalado com CentOS, inicialmente para montar o ambiente cada servidor com um disco de 8GB adicional para APP, ambos com o mesmo nome de VG e LVs;
3 - Criado dados aleatórios para podermos ver os dados no servidor de destino;
4 - Por fim, o servidor que serial o meu "backup/snapshot", irá ser desligado e o disco dele apresentado para o servidor destino que irá fazer o restore e que está em produção;

Imaginando que o restore do snapshot tenha finalizado para um novo servidor, vamos desmontar os filesystems que compõem o VG em que estão e fazer o export do VG.

#umount /app1
#umount /app_bkp


#vgexport vg_app

Feito isso, o VG deve aparecer com o status de exported quando executarmos o comando vgdisplay.

Agora é só desligar o servidor.
#shutdown -h now

Através da console de administração do seu ambiente virtual, adicionar o disco no servidor que recebera o restore, lembrando que devemos selecionar o disco existente corretamente.

Feito isso, no servidor que será feito o restore dos dados, precisamos verificar se o disco foi reconhecido e suas configurações.
Claro que podemos ter o path dele alterado, como por exemplo, no servidor antigo estava como /dev/sdb1 e no novo aparecer como /dev/sdc1.

Rodando o comando vgdisplay, já podemos ver os dois VGs com o mesmo nome mas o que vamos utilizar no restore ainda com a informação de exported.

Como não é possível iniciarmos dois VGs com o mesmo nome, antes de tudo temos que alterar o nome do VG que está como exported. Para isso precisamos utilizar o VG UUID que é único:

#vgrename paOEZB-mqVS-3oHX-Gf5n-iAJ2-tLvG-zba1aD vg_app-RESTORE

Agora na saída do comando vgdisplay devemos ver o antigo VG com o nome vg_app-RESTORE.

Feito isso, podemos fazer o import do VG com o comando:
#vgimport vg_app-RESTORE

Agora o status do VG deve aparecer com o status de resizable.

Mas se já tentarmos montar os LVs deste VG, iremos receber um erro informando que não temos o LV em questão para montar.
Isso por que eles ainda estão inativos, como podemos ver com o comando:

#lvscan

A saída deste comando irá mostrar o status inactive.

Como não precisamos de todos os LVs neste exemplo, vamos escolher apenas o que vamos utilizar para o restore e habilitá-lo com o comando:

#lvchange -a y /dev/vg_app-RESTORE/lv_app_bkp

Feito isso o status do LV deve aparecer como ACTIVE.

Podemos montá-lo agora no path que queremos.
No meu caso eu criei um diretório com o nome de /restore

#mount /dev/vg_app-RESTORE/lv_app_bkp /restore/

E pronto, os dados que precisamos estão aqui.

Neste exemplo eu tentei demonstrar com uma necessidade de restore e devido a um problema da ferramenta de backup não conseguirmos fazer o restore de forma granular, mas isso se aplica em outros cenários também, onde precisaremos copiar dados ou utilizar os mesmos discos em um novo servidor visto que o antigo pode ter dado problemas.

Espero que essa dica ajude e seja útil.

Abraços
:wq!

quarta-feira, 15 de novembro de 2017

openSUSE Leap 42.2 - Erro ao fazer atualização



Olá pessoal, tudo bem?

É... faz um tempo que não passo por aqui.
Isso é devido a correria dos meus dias e algumas mudanças que andaram acontecendo.
Mas vamos que vamos.

Depois de algum tempo sem atualizar minha distro openSUSE Leap 42.2, resolvi fazer isso no feriado e eis que me deparo com o erro para vários repositórios que utilizo:

                                (Erro em alguns repositórios durante atualização)

Ao que parece os repositórios estão com problema ou podem não existir mais.
Mais ou menos...

Antes de já sair removendo os repositórios ou até mesmo tentando achar novos, podemos fazer uma alternativa mais simples que consiste em limpar o cache gerado pelos repositórios.

Como fazia muito tempo que não atualizava nada, provavelmente ele geral alguma informação (cache) que existia no passado e agora mudou ou não existe para.

Com apenas um comando é possível fazer o refresh no cache dos repositórios e tentar instalar as atualizações novamente.

1. Vamos limpar o cache dos repositórios



Como podemos ver, se ainda assim algum repositório não existisse mais ou ainda assim apresentasse algum problema, muito provavelmente na hora de fazer o refresh ele iria apresentar erro novamente, dando assim a nossa missão de ver o que aconteceu com determinado repositório e procurar se o mesmo teve alguma alteração de nome, foi substituído ou algo do tipo.

Terminando isso é só atualizar.

2. Atualizando



Coloquei apenas um trecho pois a lista ficou muito grande depois de atualizar. :)

É isso.
Espero que essa dica ajude.

Abraço e até a próxima.
:wq!

terça-feira, 15 de agosto de 2017

EMC VPlex – Renomeando Initiators

Olá pessoal, tudo bem?
Uma tarefa um tanto quanto importante para os administradores de storage e principalmente para documentações e levantamento de informações nos storages e também na SAN, é dar nome aos bois (neste caso aos initiators :D).
Colocar seus respectivos nomes ajuda e muito na administração diária e até mesmo quando precisamos elaborar books executivos para nossos clientes ou mesmo internamente.
Dito isso e de comum acordo entre todos, convenhamos que durante a correria do dia-a-dia podemos esquecer ou até mesmo deixar este ponto passar batido para ganhar tempo ou fazer alguma entrega emergencial.
Mas e agora?!
Praticamente em todos os casos é possível fazermos este ajuste online sem nenhum impacto.
Hoje vou demonstrar como fazer isso no EMC VPlex…
Primeiro é necessário conectar no VPlex via SSH:
 #ssh service@ip_do_vplex
Embora já estamos na linha de comando, precisamos entrar na linha de comando VPlex que é onde faremos as configurações dos contextos, pois tudo no VPlex é encarado como contexto.
Para isso, vamos executar o comando vplexcli:
service@Vplex-7227:~>vplexcli
Será solicitado novamente usuário e senha. Inserir novamente o usuário service e sua respectiva senha.
Com isso um novo shell será aberto.
 VPlexcli:/>
Agora como vamos alterar o nome dos initiators, precisamos ir até o contexto initiator.
VPlexcli:/>cd /clusters/cluster-[1][2]/exports/initiator-ports/
Executando o comando ls dentro do contexto initiator-ports, teremos uma visão de todos os initiators que acessam o VPlex.
Para alterar o nome de cada um é necessário entrar no contexto de cada initiator e executar o comando set name. Vamos ao exemplo.
Vamos imaginar que eu tenho o initiator: 20:00:00:00:24:44:b1:0a
Entrando no contexto 20:00:00:00:24:44:b1:0a:
VPlexcli:/>cd 20:00:00:00:24:44:b1:0a/
Alterando o nome dele:
VPlexcli:/>set name SRV_PRD_01_hba0
Na verdade você  pode utilizar a convenção de nomes que achar mais adequada.
Neste exemplo, este initiator corresponde ao meu servidor SRV_PRD_01 e pertinente a hba0.
Feito isso, automaticamente já teremos o contexto que antes era o WWN alterado para o nome que configuramos:
VPlexcli:/>cd /clusters/cluster-[1][2]/exports/initiator-ports/20:00:00:00:24:44:b1:0a/ (Antes)

VPlexcli:/>cd /clusters/cluster-[1][2]/exports/initiator-ports/SRV_PRD_01_hba0/ (Depois)
E tudo isso sem perder ou gerar qualquer impacto para acesso aos discos.
Também é possível fazer essa alteração pela console do Unisphere, mas por ser mais lenta acaba demorando mais quanto à execução do procedimento que pela linha de comando é bem rápido.
Abs e até a próxima.
:wq!