maio 242019
 

PRELIMINARES

 

Um pouco da história sobre este estudo.

Resolvi criar este artigo devido à dificuldade em encontrar material de apoio sobre como utilizar o script “ghettoVCB.sh” para efetuar snapshots de máquinas virtuais de servidores ESXi 5.0, de forma automatizada.

O script ghettoVCB é simples, prático e fácil de configurar na sua forma básica (caminho_destino + número_cópias), que é o que, na prática, todo administrador precisa (efetuar snapshot das máquinas virtuais quentes salvando no destino desejado).

E é com este intuito que escrevi este tutorial. O meu objetivo era montar uma solução *FREE* automatizada para snapshot das VMs, utilizando recursos simples e básicos.

Para isso, utilizei também um servidor (em VM) Ubuntu Server 11.04 64 bits. Neste material, cito a possibilidade de backup através de um servidor NFS na rede, mostrando de forma simples e objetiva, como instalar e configurar este recurso.

Resumindo, este artigo trata da minha experiência na configuração do script, efetuando snapshot das VMs quentes, com agendamento programado em um servidor GNU/Linux com Ubuntu Server 11.04, salvando as snapshots em um case de HD conectado à porta USB da máquina física ESXi e também em um storage com FreeNAS instalado em máquina física através de NFS e iSCSI.

Como abordo de forma simples o script ghettoVCB, sugiro visitar a comunidade VMware para informações específicas sobre o funcionamento da ferramenta:

mar 222018
 

Olá!

Aqui, você verá uma forma simples de “criptografar” um Shell Script que você quer passar a alguém, mas não quer liberar o fonte ou que seja editável por qualquer um.

BÁSICO DE CRIPTOGRAFIA

Bom, um conceito básico sobre criptografia:

Criptografia (do Grego kryptós, “escondido”, e gráphein, “escrita”) é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível.

Mais sobre isso: Criptografia – Wikipédia, a enciclopédia livre
Continue reading »

set 042017
 

Uma das minhas paixões por Linux surgiu justamente quando eu comecei a criar os meus primeiros scripts utilizando shell. Quando eu percebi a quantidade de coisas que era possível fazer com scripts, minha mente fervilhou e eu passei a fazer dezenas de scripts para automatizar tudo que eu fazia manualmente até então.

Ao final deste artigo você saberá:

  • O que é shell script;
  • Boas práticas de programação utilizando shell script;
  • Erros de iniciantes em shell script;

É claro que meus primeiros scripts eram bem toscos, mas isso eu só notei quando os revisitei depois de um certo tempo, como eu não tinha referência de comparação, para mim estava maravilhoso.
E é justamente sobre isso que pretendo compartilhar com você neste artigo, dicas para você iniciar a criação dos seus scripts de forma mais inteligente e eficaz.

Continue reading »

set 042017
 

Neste texto, vou ensinar a baixar, instalar e usar SHC, um programa que encripta o código do seus shell scritps.
Antes de mais nada, eu gostaria de dizer que encriptar seus códigos não é uma prática recomendável. O ideal é documentar todo o script, de forma que qualquer pessoa o possa entender facilmente. Códigos fonte devem ser o mais acessíveis possível – já a informação com a qual eles lidam, é que deve ser restringida.
Se você precisa usar informações, usualmente confidenciais, como senhas, de forma automática, então deve procurar outra solução.
Hmmmm… você ainda está aqui?
Tenha em mente, contudo, que um script codificado através do SHC pode não ser legível para usuários comuns (creio que este seja o seu objetivo) — Contudo, uma pessoa que tenha conhecimento do seu funcionamento pode extrair o código criado pelo software.
Em tempo, SHC quer dizer SHell script Compiler.

Continue reading »

fev 012017
 

Recentemente precisei criar um script de backup com algumas exigências… não entrarei muito em detalhes sobre os recursos utilizados, a ideia é compartilhar e passar um overview do que faz o script.

As exigências:

  1. Realizar backup logo após que a mídia externa for conectada (HDD externo)
  2. Deletar dados no diretório de backup com 15 dias ou mais
  3. Realizar backup para diretório em servidor remoto
  4. Enviar mensagem de e-mail notificando o administrador dos servidores

As soluções:

1. Existem algumas maneiras de obter informações de um device via Udev … no meu caso utilizei o seguinte:

# udevadm info –query=all –name=/dev/sdc

Obs.: as linhas iniciadas com “P” (PATH) mostram o caminho absoluto do device, “S” (SYMLINK) links simbólicos para o device e “E” (ENVIRONMENT) variáveis de ambiente que podemos usar nas regras do Udev.

/etc/udev/rules.d/90-CustomUdev.rules
ACTION==”add”, SUBSYSTEM==”block”, ENV{ID_SERIAL_SHORT}==”5758323145393436444B4134″, SYMLINK+=”BackupUSB”
ACTION==”add”, SUBSYSTEM==”block”, ENV{ID_SERIAL_SHORT}==”5758323145393436444B4134″, RUN+=”SEU SCRIPT”

Quando plugado o HDD (ACTION==”add”) com número serial (ENV{ID_SERIAL_SHORT}==”5758323145393436444B4134″) e seja um block device (SUBSYSTEM==”block”), crie um link simbólico em /dev com nome BackupUSB (SYMLINK+=”BackupUSB) e execute o script RUN+=”SEU SCRIPT”.

2. Tal comando encontra-se em função dentro do script, mas seguindo a ordem das exigências … o comando é:
Continue reading »

Algoritmos em Shell Script

 Leitura Recomendada, Linux, Shell Script, Ubuntu  Comentários desativados em Algoritmos em Shell Script
jul 042014
 
Introdução / O Shell Script

Introdução

O estudo de algoritmos, é de fundamental importância para o desenvolvimento da lógica de programação e, consequentemente, o aprendizado e domínio de uma linguagem de programação.

Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, ou seja, um conjunto de instruções executadas passo a passo, necessários para executar uma tarefa.

Outra definição muito interessante de algoritmo:

“Um algoritmo tem por objetivo, representar mais fielmente o raciocínio envolvido na lógica de programação e, desta forma, permitir-nos abstrair de uma série de detalhes computacionais, que podem ser acrescentados mais tarde.” [1]

Utiliza-se algoritmos para resolver problemas reais de forma abstrata com o auxílio de uma linguagem de programação ou até mesmo por fluxogramas, que são gráficos que demonstram a sequência operacional do desenvolvimento de um processo.

Este processo pode ser a troca de uma lâmpada, calcular a média aritmética de alunos, o espaço percorrido por um carro, entre outros.

A figura 1, mostra um exemplo de um algoritmo representado por um fluxograma: Continue reading »

Shell Script para WEB

 Clusterweb, Leitura Recomendada, Shell Script  Comentários desativados em Shell Script para WEB
abr 102014
 

 

Iniciando / Variáveis de ambiente

Iniciando

Nas configurações padrões do Apache, existe um diretório já pré-definido para scripts CGI rodarem. É o /usr/lib/cgi-bin/.

Irei criar um arquivo com o nome tutorial.sh. Nos scripts CGI, a saída dos scripts (/dev/stdout e /dev/stderr), são enviadas para o cliente, as primeiras linhas do script serão o cabeçalho de resposta da requisição HTTP.

Desse modo, podemos forçar o download de arquivos, fazer redirecionamentos, etc, a quebra de linha é que separa o que será o cabeçalho e o que será o resto da resposta.

Voltando ao arquivo tutorial.sh, dentro do arquivo, coloque as seguintes linhas:

#!/bin/bash
echo -e “Content-Type: text/plain\n”    # É o Cabeçalho, e a quebra de linha
echo “Hello World”    # Agora é o resto do request, o conteúdo que é exibido pelos navegadores.

Salve o arquivo e deixe as permissões como 775 (lembrando: r = 4, w = 2, x = 1).

Acesse o link: http://localhost/cgi-bin/tutorial.sh E verá a mensagem: Hello World

Por padrão, o Apache já configura o cabeçalho de resposta.

Se não quiser, você pode pôr no começo do script: echo -e “\n” ou printf “\n\n”, e deixar que o Apache configure o cabeçalho, que normalmente, será algo parecido com isso:  Continue reading »