Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Fazendo backup do Pendrive quando este for conectado/desconectado

Colaboração: André Proto

Data de Publicação: 27 de Janeiro de 2009

Há alguns dias senti a necessidade de realizar o backup de meu pendrive de forma automática sempre no momento em que eu o conectava/desconectava de meu computador. Por isso nesta dica eu coloquei um pequeno script SHELL que realiza o backup no momento em que o Pendrive (ou outro dispositivo de armazenamento USB) é conectado ou desconectado.

O script abaixo foi feito para funcionar no GNOME, porém pode ser adaptado para outros ambientes gráficos e até para o terminal de texto. O script também utiliza os utilitários rsync e sudo; por isso verifique se estes estão instalados em seu sistema antes de seguir esta dica.

Explicando sucintamente como funciona, quando você conecta o seu pendrive na porta USB, o GNOME executa o comando "gnome-mount" com alguns parâmetros de entrada para realizar a montagem de forma automárica. A idéia então é substituir o aplicativo gnome-mount pelo nosso script e assim executar os comandos necessários para a sincronização dos dados.

Resumindo, o que este script faz:

  • A sincronização dos dados é realizado sempre que o pendrive é montado ou desmontado pelo sistema do GNOME (Nautilus);

  • Apenas um único usuário terá permissão de realizar o backup;

  • Com a utilização do UUID da partição do pendrive podemos identificar de forma única o pendrive que queremos sincronizar os dados. Ou seja, se você conectar o pendrive de um amigo no seu computador, não será realizada a sincronização;

Vamos aos passos:

  1. Renomeie o arquivo /usr/bin/gnome-mount para /usr/bin/gnome-mount-orig;

  2. Dê permissão de sudo sem senha no comando /sbin/vol_id para o usuário que fará o backup do pendrive. Para isso insira a linha "usuario ALL=NOPASSWD: /sbin/vol_id" no arquivo /etc/sudoers;

  3. Conecte o pendrive que você deseja fazer o backup. Obtenha o UUID da partição dele com o comando "sudo vol_id --uuid /dev/particao_do_pendrive"

  4. Com acesso de root, crie o arquivo /usr/bin/gnome-mount (com permissão de execução) e insira o seguinte script, alterando o valor das variáveis conforme solicitado:
  #!/bin/bash
  # Autor: André Proto
  # Distribuicao livre
  #
  # Defina abaixo as seguintes variaveis:
  # - CMD: comando original do sistema para montagem de dispositivos
  # - UUID: UUID da particao do Pendrive
  # - USER: usuario que tera permissao para realizar backup
  # - DEST: diretorio de destino do backup
  # - LOGFILE: arquivo de log
  
  CMD="/usr/bin/gnome-mount-orig"
  UUID="UUID-UUID"
  USER="user"
  DEST="/home/${USER}/pendrive/"
  LOGDIR="/var/log/backup_pendrive.log"
  
  DEVICE="$@"
  DEVICE=${DEVICE##* }
  
  U=`echo "$@" | grep 'u '`
  
  if [ -z "$U" ]; then
        $CMD $@
  fi
  
  MYUSER=`whoami`
  MNTDIR=`mount | grep $DEVICE | awk '{ print $3 }' | head -1`
  
  if [ "$MYUSER" = "$USER" ]; then
        UUID_DEV=`sudo /sbin/vol_id --uuid $DEVICE`
        if [ "$UUID_DEV" = "$UUID" ]; then
                rsync -av --delete "${MNTDIR}/" "${DEST}" >> ${LOGFILE} 2>&1
        fi
  
  fi
  
  if [ ! -z "$U" ]; then
        $CMD $@
  fi

Observações:

  1. Note que é necessário dar permissão de escrita para o usuário que fará o backup no arquivo de log indicado no script.

  2. Caso você use o KDE ou monte seus dispositivos pelo terminal, talvez a substituição do comando /bin/mount por este script possa ter o mesmo efeito (não testado).

  3. Caso você formate o seu pendrive por algum motivo, será necessário atualizar o valor da variável UUID.

Veja a relação completa dos artigos de André Proto

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1197 votos)

Opinião dos Leitores

Genevaldo DF
19 Set 2011, 13:15
dando uma mexida achei o mesmo para se fazer no windows...
http://jefferson-ryan.blogspot.com/2007/05/cuidado-com-onde-enfiam-o-seu-pendrive.html
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Expressões Regulares - Uma abordagem divertida 3ª edição