Cómo modificar mi script para hacer una copy de security de mis files

He transferido mis files (solo files de text, files JPEG, películas) de mi PC con Windows anterior a mi computadora portátil Linux recién comprada (s / h Dell Linux Mint 17.1). Para realizar una copy de security de estos files en usb, la herramienta de respaldo tiene dos problemas:

  • (1) la herramienta no elimina los files del usb que he eliminado de la computadora portátil, lo que significa que debe pasar por el usb para eliminarlos,
  • (2) la herramienta necesita configurarse cada vez que quiero hacer una copy de security, lo cual es molesto.

Solo llevo un par de semanas entendiendo Linux. He escrito la siguiente secuencia de commands, ejecute rápidamente desde la Terminal:

#!/bin/bash rsync -arh --quiet --delete ~/ /media/my-laptop/my-usb 

Sospecho que algo está mal con esto. Todo parece funcionar más o less bien (es decir, el usb después de cada ejecución del script tiene una copy exacta de lo que está en el disco duro), pero (usando ctrl h) veo que los files ocultos también se están copyndo y generando muchos posts de error en el process como:

 rsync : mkstemp “media/my-pc/my-usm/.local/share/Trash/files/. …...” failed : Invalid argument (22). rsync : symlink “media/my-pc/my-usm/.local/share/Trash/files/….” → “….” failed : Operation not permitted (1). 

¡Será una simple enmienda a mi # 2 líneas! script anterior me permite hacer una copy de security de mis files, y solo mis files, sin los files ocultos y los posts de error asociados?

En lugar de tratar de evitar la copy de security de sus files dot, vale la pena ver el motivo por el cual la copy de security de estos files falla.

Parece que su destino de copy de security es probablemente un sistema de files FAT. Esto no puede manejar todos los metadatos asociados con sus files (titularidad, permissions, etc.) por lo que no está haciendo una copy "verdadera" de sus datos.

Una opción aquí es reformatear el dispositivo como un sistema de files ext4 y retroceder a eso. Puede get controlleres FOSS para Windows que lean filesystems ext4 por lo que no es como si estuviese compartiendo sus datos.

Si va a formatear el dispositivo USB, verifique y vuelva a verificar que está a punto de formatear el dispositivo correcto. Es dolorosamente difícil recuperar el sistema de files raíz si lo ha borrado.

Esperaría que fuera algo como /dev/sdb1 pero NO /dev/sda* . Probablemente pueda determinar el dispositivo con el command mount | grep /media mount | grep /media pero asegúrese de que el nombre del dispositivo NO ES el mismo que el obtenido de mount | grep '/$' mount | grep '/$' . Si tiene dudas, actualice su pregunta con el resultado completo del command mount .

Otra opción es utilizar una herramienta de copy de security incremental, como la duplicity .

Si no desea include files "ocultos", puede decirle a rsync que los ignore con:

 --exclude=".*" 

Entonces, dado su ejemplo, sería algo así como:

 rsync -arh --quiet --exclude=".*" --delete ~/ /media/my-laptop/my-usb 

Editar: Sin embargo, tenga en count que este enfoque significa que no hará una copy de security de ninguno de sus files de configuration (los "ocultos" que comienzan con un encabezado en el nombre del file).