Automaticamente faz backup da unidade usb para o computador

1

Estou tentando criar um sistema de sincronização pessoal para o meu projeto. Eu não quero usar algo como dropbox, bittorrent sync, owncloud etc por vários motivos.

No momento, eu tenho a configuração do meu computador para usar o encfs e git sobre uma unidade USB. Onde eu tenho uma pasta local não criptografada em cada computador e os arquivos encfs criptografados estão na unidade usb. Isso parece funcionar bem. O que me preocupa é quando o drive USB falha. Eu basicamente quero manter automaticamente um backup dos arquivos criptografados em cada computador.

Como faço para fazer isso?

Idealmente, crie um backup dos arquivos criptografados quando a unidade USB estiver conectada ou a cada minuto ou hora enquanto a unidade USB estiver conectada?

Se algo melhor for possível, por favor me avise.

Posso usar algo como o rsync com um cron job para fazer isso? O que eu não preciso são os recursos avançados do rsync para criar uma linha de tempo de backups. Eu só preciso de uma cópia dos arquivos mais recentes na unidade USB.

    
por oshirowanen 03.03.2014 / 18:32

2 respostas

2

Para fazer backup de arquivos entre dois computadores, rysnc geralmente é o caminho a percorrer. Se os arquivos podem ser alterados em qualquer computador, unison pode ser o melhor caminho a percorrer. Você pode executar regularmente por meio de um trabalho cron ou manualmente quando necessário (mais robusto para unison ). É claro que você terá que configurar um login ssh sem senha para a máquina de destino primeiro.

Se você deseja sincronizar com um dispositivo USB quando ele está conectado, sempre é possível criar uma regra udev (se é isso que o sistema usa) que executa um script para montar o dispositivo e executar rsync a cada Se estiver fazendo isso, certifique-se de não entrar em conflito com nenhum outro sistema de montagem automático que possa pegar o dispositivo.

Para fazer isso, você deve primeiro descobrir as propriedades udev do dispositivo da seguinte forma:

udevadm info --name=/path/to/device --query=property

Então você colocaria um arquivo .rules em /etc/udev/rules.d (dependendo do sistema) contendo algo assim:

 ENV{ID_SERIAL}=="device_id_serial", ACTION=="add", RUN+="/path/to/script"

Onde device_id_serial é o ID_SERIAL do seu dispositivo.

Note que este é apenas um esboço muito grosseiro do que você pode fazer, eu não testei o acima ( add pode não ser a ação correta). Você pode sempre fazer outra pergunta em qualquer uma das situações acima, se estiver preso.

    
por 03.03.2014 / 22:25
0

você pode fazer isso via rsync.

rsync -avz /path/to/source/ /path/to/dest

-a arquivo -v verbose aumenta a verbosidade -z arquivos de compressão

Além disso, você pode colocar este comando no cron para ser executado a cada minuto.

crontab -e   
 * * * * * rsync -avz /path/to/source/ /path/to/dest

com isso, você terá apenas arquivos modificados com backup e mantendo as permissões, por isso, na verdade, só serão modificados arquivos modifeid.

    
por 03.03.2014 / 21:23