Copia de security automática de la unidad USB a la computadora

Estoy tratando de crear un sistema de synchronization personal para mi proyecto. No quiero usar algo como dropbox, bittorrent sync, owncloud, etc. por varias razones.

Por el momento, tengo la configuration de mi computadora para usar encfs y git en una unidad usb. Donde tengo una carpeta local no encriptada en cada computadora y los files ciffs encryptions están en la unidad usb. Esto parece que funciona bien. Lo que me preocupa es cuando el disco USB falla. Básicamente, quiero mantener automáticamente una copy de security de los files encryptions en cada computadora.

¿Cómo hago eso?

Lo ideal es crear una copy de security de los files encryptions cuando la unidad usb está conectada, o cada minuto u hora mientras la unidad usb está conectada.

Si algo mejor es posible, házmelo saber.

¿Puedo usar algo como rsync con un trabajo cron para hacer esto? Lo que no necesito son las características avanzadas de rsync para crear una línea de time de copys de security. Solo necesito una copy de los últimos files en el disco usb.

Para realizar copys de security de files entre dos computadoras, rysnc suele ser el path a seguir. Si los files se pueden cambiar en cualquier computadora, el unison podría ser una mejor manera de hacerlo. Puede ejecutar regularmente a través de un trabajo cron o manualmente cuando sea necesario (más robusto para unison ). Por supuesto, primero tendrá que configurar un inicio de session ssh sin contraseña en la máquina de destino.

Si desea sincronizar con un dispositivo usb cuando está conectado, siempre puede crear una regla udev (si eso es lo que usa su sistema) que ejecuta una secuencia de commands para montar el dispositivo y hacer una rsync cada vez que se conecta. Si Al hacerlo, asegúrese de que no entre en conflicto con ningún otro sistema de assembly automático que pueda levantar el dispositivo.

Para hacer esto, primero debe averiguar las properties de udev del dispositivo de la siguiente manera:

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

Luego pondría un file .rules en /etc/udev/rules.d (según el sistema) que contenga algo como esto:

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

Donde device_id_serial es ID_SERIAL para su dispositivo.

Tenga en count que esto es solo un bosquejo muy aproximado de lo que puede hacer, no he probado lo anterior ( add puede no ser la acción correcta). Siempre puede hacer otra pregunta sobre cualquiera de los anteriores si está atascado.

puedes hacerlo a través de rsync.

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

-a file -v verbose aumenta la verbosidad -z files compres

También puede poner este command en el cron para que se ejecute cada minuto.

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

con esto, solo tendrá una copy de security de los files modificados con la persistencia de los permissions, por lo que en realidad solo se modificarán los files modifeid.