Compartilhamento de rede, com recurso multiplataforma e controle de versão automático

Autor: Ricardo Brito

Introdução

Este artigo surgiu de uma necessidade doméstica, em que eu precisava dos arquivos escaneados, em meu notebook, e em muitas vezes no meu smartphone.

Inicialmente eu escaneava os documentos diretamente em um cartão SD, e deste cartão copiava os arquivos para o Dropbox. Este artigo, trata de automatizar este processo.

Escopo

  • Sistema Operacional GNU Linux;
  • Multifuncional configurada;
  • Conta no Dropbox, para o sistema multiplataforma com criptografia AES de 256 bits em dois estágios;
  • Sistema para controle de versão git;
  • Volume de disco necessário, compatível com o dados a serem controlados;
Observação: Esta solução não é uma solução corporativa.

Prerrequisitos Debian-like

aptitude install -y autoconf automake autotools-dev build-essential bzip2 curl git html2text libbz2-1.0 libdb4.8-dev libdb5.1-dev libexpat1-dev libfreetype6-dev libgif-dev libjpeg-dev libldap2-dev libmemcache-dev libncurses5-dev libncurses5-dev libpcre3-dev libpng12-dev libreadline5-dev libreadline6-dev libsqlite3-dev libsasl2-dev libssl-dev libxml2-dev libxslt1-dev libxslt1.1 lynx memcached nagios-nrpe-plugin nagios-nrpe-server ntpdate pdftohtml pidentd pkg-config postgresql-server-dev-all ppthtml python-setuptools rsync subversion sudo unzip vim wget wv zlib-bin zlib1g-dev zlibc

Prerrequisitos Redhat-like

#yum groupinstall 'Development Tools'

#yum install -y autoconf automake curl-devel expat-devel freetype-devel gettext-devel groff lcms libc6-devel libc-devel libjpeg libjpeg-devel libtool libxml2-devel libxslt libxslt-devel ncurses-devel openldap-devel openssl-devel pcre-devel pkgconfig postgresql-devel postgresql-libs python-devel python-setuptools wget wv zlib-devel poppler-utils memcached memcached-devel git

Procedimentos

  1. Dropbox:

    Inicialmente instale o cliente dropbox em seu linux. Pode ser encontrado instruções na URL: https://www.dropbox.com/install?os=lnx, como abaixo: Configure a sua conta do dropbox, e aguarde a atualização do repositório local.

  2. Git:

    O git foi instalado juntamente com os prerrequisitos, se sua distribuição não possuir o git no repositório, consulte e realize o procedimento conforme documentação.
    Para configurar o git com detalhes, pode ser utilizado este outro artigo de minha autoria: Brito: Guia Rápido de comandos git (lado usuário). Mas para fins deste artigo siga o trecho abaixo:
    • cd ~/Dropbox
    • mkdir -v hpscans{,.git}
    • cd hpscans.git/
    • git init --bare
    • cd ../hpscans
    • git init
    • git remote add origin ~/Dropbox/hpscans.git/
    • git remote -v
  3. Compartilhamento em rede:

    • git clone ~/Dropbox/hpscans.git ~/hpscans
    • Configure este diretório como compartilhamento de rede.
  4. Script para persistir os arquivos:

    • mkdir -v ~/bin
    • Coloque o script no diretório bin, exemplo ~/bin/script1, do usuário e atualize a linha dois para o path do compartilhamento em rede.
    • chmod +x ~/bin/*
  5. Script para atualizar arquivos:

    • mkdir -v ~/bin
    • Coloque o script no diretório bin, exemplo ~/bin/script2, do usuário e atualize a linha dois para o path do diretório de trabalho localizado no Dropbox.
    • chmod +x ~/bin/*
  6. Automatização:

    Faremos a automação dos scripts com o cron. execute o comando: #crontab -e e acrescente as linhas abaixo:
    0 * * * * /home/user/bin/script1
    1 * * * * /home/user/bin/script2
    Não esqueça de alterar o nome do usuário.

Conclusão

Com isso tem-se um sistema de Compartilhamento em rede com recursos multiplataforma (Windowns, Linux, Android e IOS) com criptografia AES de 256 bits, utilizando o dropbox, e versionamento garantido com git, com a possibilidade de recuperar qualquer revisão anterior.

Referências

http://brito.blog.incolume.com.br/2014/05/trabalhando-com-git-no-repositorio-local.html
http://brito.blog.incolume.com.br/2013/03/guia-rapido-de-comandos-git-lado-usuario.html

Comentários