Pesquisa de site

Como fazer backup automático de arquivos em mídia USB quando conectado


Um backup é a última defesa contra a perda de dados, oferecendo um meio de restaurar os dados originais. Você pode usar uma mídia removível, como um disco rígido externo ou um disco flash USB, ou uma pasta de rede compartilhada, ou um host remoto para fazer backup de seus dados. É muito fácil (e igualmente essencial) fazer backup automático de seus arquivos importantes sem que você precise se lembrar de fazer isso.

Leia também: 24 excelentes ferramentas de backup para sistemas Linux em 2018

Neste artigo, aprenderemos como fazer backup automático de dados em uma mídia removível após conectá-la à sua máquina Linux. Testaremos com um disco externo. Este é um guia básico para você começar a usar o udev para soluções da vida real.

Para os fins deste artigo, precisamos de um sistema Linux moderno com:

  1. Gerente de sistemas e serviços systemd
  2. gerenciador de dispositivos udev
  3. ferramenta de backup rsync

Como configurar regras do Udev para mídia removível

Udev é um gerenciador de dispositivos que permite definir regras que podem, entre outras, acionar a execução de um programa ou script quando um dispositivo é adicionado ou removido de um sistema em execução, como parte do tratamento de eventos do dispositivo. . Podemos usar esse recurso para executar um script de backup após adicionar uma mídia removível ao sistema em execução.

Antes de configurarmos a regra real para manipulação de eventos de dispositivo, precisamos fornecer ao udev alguns atributos da mídia removível que será usada para o backup. Conecte o disco externo ao sistema em execução e execute o seguinte comando lsusb para identificar seu fornecedor e ID do produto.

Para fins de teste, usaremos um disco rígido externo de 1 TB conforme mostrado.

lsusb

A partir da saída do comando acima, nosso ID de fornecedor de dispositivo é 125f, que especificaremos nas regras do udev conforme explicado abaixo.

Primeiro, remova a mídia conectada do sistema e crie um novo arquivo de regras do udev chamado 10.autobackup.rules no diretório /etc/udev/rules.d/.

O 10 no nome do arquivo especifica a ordem de execução das regras. A ordem na qual as regras são analisadas é importante; você deve sempre criar regras personalizadas para serem analisadas antes dos padrões.

sudo vim /etc/udev/rules.d/10.autobackup.rules

Em seguida, adicione a seguinte regra nele:

SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="125f" SYMLINK+="external%n", RUN+="/bin/autobackup.sh"

Vamos explicar brevemente a regra acima:

  • "==": é um operador para comparar a igualdade.
  • "+=": é um operador para adicionar o valor a uma chave que contém uma lista de entradas.
  • SUBSYSTEM: corresponde ao subsistema do dispositivo de evento.
  • AÇÃO: corresponde ao nome da ação do evento.
  • ATTRS{idVendor}: corresponde aos valores do atributo sysfs do dispositivo do evento, que é o ID do fornecedor do dispositivo.
  • RUN: especifica um programa ou script a ser executado como parte do tratamento de eventos.

Salve o arquivo e feche-o.

Crie um script de backup automático

Agora crie um script de backup automático que fará backup automático dos arquivos em USB removível quando conectado ao sistema.

sudo vim /bin/autobackup.sh 

Agora copie e cole o script a seguir, certifique-se de substituir os valores de BACKUP_SOURCE, BACKUP_DEVICE e MOUNT_POINT no script.

#!/usr/bin/bash
BACKUP_SOURCE="/home/admin/important"
BACKUP_DEVICE="/dev/external1"
MOUNT_POINT="/mnt/external"


#check if mount point directory exists, if not create it
if [ ! -d “MOUNT_POINT” ] ; then 
	/bin/mkdir  “$MOUNT_POINT”; 
fi

/bin/mount  -t  auto  “$BACKUP_DEVICE”  “$MOUNT_POINT”

#run a differential backup of files
/usr/bin/rsync -auz "$MOUNT_POINT" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE"
exit

Em seguida, torne o script executável com o seguinte comando.

sudo chmod +x /bin/autobackup.sh

Em seguida, recarregue as regras do udev usando o seguinte comando.

udevadm control --reload

Na próxima vez que você conectar seu disco rígido externo ou qualquer dispositivo configurado ao sistema, todos os seus documentos do local especificado deverão ser copiados automaticamente para ele.

Nota: A eficácia com que isso funciona pode ser influenciada pelo sistema de arquivos em sua mídia removível e pelas regras do udev que você escreve, especialmente capturando os atributos do dispositivo.

Para obter mais informações, consulte as páginas de manual udev, mount e rsync.

man udev
man mount 
man rsync 

Você também pode gostar de ler os seguintes artigos relacionados ao backup do Linux.

  1. rdiff-backup – Uma ferramenta de backup incremental remoto para Linux
  2. Tomb – Uma ferramenta de criptografia de arquivos e backup pessoal para Linux
  3. System Tar and Restore – Um script de backup versátil para Linux
  4. Como criar backups com eficiência de largura de banda usando duplicidade no Linux
  5. Rsnapshot – uma ferramenta de backup local/remoto para Linux
  6. Como sincronizar dois servidores/sites da Web Apache usando Rsync

É tudo por agora! Neste artigo, explicamos como fazer backup automático de dados em uma mídia removível após conectá-la à sua máquina Linux. Gostaríamos de ouvir sua opinião por meio do formulário de feedback abaixo.