LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Una de las ventajas del mundo digital, en comparación con el mundo físico, es que puede proteger algunos de sus 'objetos de valor' de la pérdida permanente. Conozco amigos que han perdido todas sus fotografías, libros y documentos en incendios o inundaciones. Desearía que tuvieran versiones digitales de esas cosas que podríamos haber guardado. Se necesita un solo clic para hacer una copia de sus datos y puede transportar terabytes de datos en un disco duro más pequeño que su billetera.

¿Por qué no la nube?

Mientras trabajaba en esta historia, entrevisté a muchos usuarios para comprender sus planes de respaldo de datos y descubrí que algunos utilizaban la nube pública como su respaldo principal.

 

No utilizaría la nube pública o de terceros como la copia de seguridad principal de mis datos por varias razones. En primer lugar, tengo más de 3 terabytes (TB) de datos y sería extremadamente caro para mí comprar 3 TB de almacenamiento en la nube. Tendría que pagar más de $ 120 por año por 1 TB de datos o $ 100 por mes por 10 TB en Google Drive. El costo no es el único factor disuasivo; También consumiré enormes cantidades de ancho de banda para acceder a esos datos que pueden llamar la atención de mi ISP.

El mayor peligro es que una vez que deja de pagar, pierde sus datos. Ese no es el único problema con la nube pública, en el momento en que comienza a usar dichos servicios, sus datos quedan sujetos a numerosas leyes y las agencias gubernamentales pueden acceder a ellos sin su conocimiento. Su proveedor de servicios obtiene el control sobre sus datos y puede bloquearlo de sus propios datos por numerosas razones, especialmente algunas infracciones ambiguas de derechos de autor.

La nube privada como ownCloud o Seafile puede ser una opción, pero una vez más, ya que sus datos dejaron su red, están expuestos al resto del mundo y, como es habitual, incurrirán en un gran consumo de ancho de banda y en costos de almacenamiento.

Utilizo una nube privada, pero eso se debe principalmente a los datos que quiero que sean accesibles fuera de la red local o que se compartan con otros. Nunca lo uso como respaldo.

Mantén la calma y ve a lo local

Puedo comprar un disco duro NAS de 4TB por menos de $ 160 y eso me durará de 3 a 4 años. No tendré que preocuparme por pagar ancho de banda por acceder a mis propios datos o por temor a ser bloqueado.

Ahora, una vez que he decidido mantener mis datos locales y bajo mi control, se vuelve cada vez más importante para garantizar que no perderé un byte de ellos. Lo primero que hago es hacer una copia de seguridad de mis archivos y configurar mis sistemas para hacer copias de seguridad regulares automáticamente.

Hay muchas herramientas GUI; algunos vienen preinstalados en muchas distribuciones, pero como ejecuto un servidor de archivos sin cabeza, uso herramientas de línea de comandos y de eso voy a hablar en este artículo.

También tiendo a mantener las cosas lo más simples posible, por lo que la herramienta que uso para mi copia de seguridad es 'rsync'.

Que es rsync

Rsync significa sincronización remota que fue escrita por Andrew Tridgell y Paul Mackerras en 1996. Es una de las 'herramientas' más utilizadas en el mundo UNIX y casi un estándar para sincronizar datos. La mayoría de las distribuciones de Linux tienen rsync preinstalado, pero si no está allí, puede instalar el paquete 'rsync' para su distribución.

Rsync es una herramienta extremadamente poderosa y hace más que simplemente hacer copias de sus archivos en su sistema. Puede usarlo para sincronizar archivos en dos directorios en la misma PC; puede sincronizar directorios en dos sistemas diferentes en la misma red; o sincronice los directorios que residen en máquinas a miles de kilómetros de distancia, a través de Internet.

La funcionalidad de rsync se puede ampliar utilizando diferentes 'opciones', de las que hablaremos pronto.

La sintaxis básica de rsync es

rsync option source-directory destination-directory

Supongamos que tiene un directorio/media/hdd1/data-1 en el disco duro 1 y desea hacer una copia en un disco duro nuevo que está montado en/media/hdd2.

El siguiente comando creará el directorio data-1 en el segundo disco duro para copiar el contenido del directorio al destino:

rsync -r /media/hdd1/data-1 /media/hdd2/

La opción '-r' garantiza que sea recursiva y también sincronizará todos los directorios.

Sin embargo, una vez que el directorio data-1 se crea en hdd2, entonces puede comenzar a sincronizar el contenido de los dos directorios:

rsync -r /media/hdd1/data-1/ /media/hdd2/data-1/

No olvide la barra invertida al final, de lo contrario, rsync creará un nuevo directorio dentro del directorio de destino.

Alternativamente, puede crear un nuevo directorio en el destino y luego sincronizarlo con la fuente. Supongamos que creó un directorio de datos-2 en el segundo disco duro y desea sincronizar los dos sin ninguna confusión:

rsync -r /media/hdd1/data-1/ /media/hdd2/data-2/

Este comando simplemente hará una copia exacta de sus archivos en el directorio data-1 dentro del directorio data-2.

¿Qué sucede si tiene enlaces simbólicos de diferentes permisos de propiedad de archivos y desea preservarlos? Simplemente use la opción '-a' y conservará la fecha, propiedad, permisos, grupos, etc. de los archivos.

Ahora tienes dos conjuntos de directorios sincronizados entre sí. Existe la posibilidad de que pueda eliminar algunos archivos o carpetas de la fuente; Lo hago todo el tiempo. ¿Cómo nos aseguramos de que también se eliminen del destino? Debe usar la opción '--delete' que se ocupará de tales casos. El comando se convierte en:

rsync -a --delete /media/hdd1/data-1/ /media/hdd2/data-2/

Si desea ver el progreso de los archivos en el terminal, agregue la opción '-v':

rsync -av --delete /media/hdd1/data-1/ /media/hdd2/data-2/

También es recomendable comprimir los archivos para transferirlos, de modo que ahorre ancho de banda a través de la red, lo que resulta en una transferencia más rápida. Deberías hacerlo si tus dispositivos tienen una transferencia más lenta. La opción a usar es '-z'.

rsync -avz --delete /media/hdd1/data-1/ /media/hdd2/data-2/

También puede lanzar la opción '-P' que es para el progreso parcial.

rsync -avzP --delete /media/hdd1/data-1/ /media/hdd2/data-2/

Trabajando en maquinas en red.

Como escribí en un artículo anterior, ejecuto un servidor de archivos local en casa y lo instalo en todos mis dispositivos para acceder a mis archivos. Nunca guardo ningún dato en mi máquina local; Siempre trabajo en archivos almacenados en el disco duro principal del servidor. De esa manera, mis archivos siempre están actualizados y puedo seleccionarlos de cualquier máquina y continuar; No es necesario copiar de una máquina a otra.

No monte el segundo, ni el disco duro de respaldo. Montarlo y trabajar en los archivos guardados en este disco duro complicará las cosas porque cuando ejecuto el comando rsync sobrescribirá los cambios del disco duro principal. Aunque rsync tiene un truco (u opción) en sus mangas para abordar tales problemas. Puede usar la opción '-u' que forzará a rsync a omitir cualquier archivo que tenga la fecha de modificación posterior al archivo fuente.

Cómo sincronizar directorios en red

Aquí es donde entra en juego el protocolo ssh. Utilizo la siguiente sintaxis para sincronizar un directorio remoto con un directorio local:

rsync -avzP --delete -e ssh user@server_IP:source-directory /destination_directory_on_local_machine/

Ejemplo:

rsync -avzP --delete -e ssh 
 This e-mail address is being protected from spambots. You need JavaScript enabled to view it
 :/home/swapnil/backup/ /media/internal/local_backup/

Para sincronizar un directorio local con un directorio remoto, la sintaxis se convierte en:

rsync -avzP --delete -e ssh source_directory user@server_IP:path_destination_directory

Ejemplo:

rsync -avzP --delete -e ssh /home/swapnil/Downloads/ 
 This e-mail address is being protected from spambots. You need JavaScript enabled to view it
 :/home/swapnil/Downloads/

Automatizar la copia de seguridad

Es posible que desee automatizar la copia de seguridad para no tener que agregarla a su calendario. En realidad, será más fácil automatizar la copia de seguridad y luego crear una entrada de calendario.

Tiendo a mantener las cosas simples y fáciles, por lo que puedo mostrarles a los nuevos usuarios lo fácil que es hacer esas cosas en Linux. La solución que utilizo para la automatización es 'crontab'. Es simple, ligero y hace bien el trabajo. Con Crontab puedo configurar cuando quiero ejecutar el comando rsync: diariamente, semanalmente, mensualmente, o más de una vez al día (lo que no haré). He configurado el mío para que se ejecute a las 11:30 pm todos los días después del trabajo, de modo que todos los archivos en los que trabajé a lo largo del día se sincronizan.

Dependiendo de su distribución, es posible que tenga que instalar un paquete para obtener crontab en su sistema. Si está en Arch Linux, por ejemplo, puede instalar 'cronie'. Puedes elegir el editor por defecto para crontab; Prefiero nano Ejecute este comando y reemplace 'nano' con el editor deseado.

export EDITOR=nano

Ahora ejecute 'crontab -e' para crear trabajos cron. Abrirá un archivo vacío donde podrá configurar el comando que desea ejecutar en el momento deseado. (Ver imagen, arriba.)

El formato de crontab es simple; tiene cinco campos seguidos por el comando:

m h dm m dw command

Aquí m representa los minutos (0-59); h por hora (0-23); dm para el día del mes (1-31); m por mes (1-12); y dw para el día de la semana (0-6 donde 0 es domingo). El formato es numérico y debe usar '*' para recomendar los campos que no desea usar.

Ejecuto el comando todos los días a las 11.30 para que el formato sea

30 23 * * * rsync -av --delete /media/hdd1/data-1/ /media/hdd2/data-2/

Si desea ejecutar rsync solo una vez al mes, puede hacer algo como esto:

30 23 1 * * rsync -av --delete /media/hdd1/data-1/ /media/hdd2/data-2/

Ahora funcionará a las 11:30 pm el 1 de cada mes. Si no desea que se ejecute todos los meses, puede configurarlo para que se ejecute cada seis meses:

30 23 1 6 * rsync -av --delete /media/hdd1/data-1/ /media/hdd2/data-2/

Eso hará que se ejecute todos los años el 1 de junio. Si desea ejecutar más de un comando, cree una nueva línea para cada comando. Rsync no es el único comando que puede automatizar con 'crontab', sino que puede ejecutar el comando 'cualquiera' usándolo.

Como puede ver, ambas herramientas, rsync y crontab, son extremadamente simples y ligeras, pero extremadamente potentes y altamente configurables. Linux no tiene que ser complicado!

Mantener una copia de forma remota

Un riesgo de mantener todos sus datos en las máquinas locales es que, en caso de un desastre natural, un incendio o una inundación, su sistema local se dañará y perderá sus datos. Se recomienda guardar otra copia de sus datos en una máquina ubicada en otro lugar. Tengo un servidor en el lugar de mis suegros; Lo llamo 'Server In Law'.

La mala noticia es que los ISP no permiten IP estática y pueden bloquear puertos reenviados, por lo que no es posible ssh entre dos máquinas y datos de sincronización. Ahí es donde TeamViewer y SSH Tunnel entran en juego. Me conecto a mi Server In Law, abro un túnel ssh temporal y luego rsync los archivos.

Dado que estas son herramientas basadas en GUI, están más allá del alcance de este artículo enfocado en cli. Puede que lo cubra en el futuro.

Amigos con copia de seguridad son amigos de hecho

Mis amigos han creado un grupo de servidores de respaldo donde alojan los discos duros de los demás en su lugar y mantienen la información de los demás. Si hay algunos archivos extremadamente privados que no quieres que vean tus amigos, siempre puedes cifrarlos.

Pin It

No estás registrado para postear comentarios