Ir al contenido principal

Realizar copia de seguridad automáticamente en Linux (Ubuntu)

Voy a explicar la solución que estoy usando para realizar una copia de seguridad de varios directorios a un disco duro externo USB. El backup quiero que se ejecute automáticamente todos los días, aunque no haya hecho login (iniciar sesión) en mi Ubuntu.

Lo primero que haré será especificar a mi Ubuntu que quiero que me monte automáticamente el disco duro externo USB, para ello desde línea de comandos ejecutaré la siguiente orden:
sudo kate /etc/fstab

Si no tenéis instalado el editor de texto kate (por defecto viene instalado en Kubuntu) deberéis poner el que vosotros uséis normalmente.

Una vez abierto el fichero fstab tenemos que añadir una línea tal que esta:
/dev/sdc1 /media/AUX1 ntfs auto,rw,exec,users,dmask=000,fmask=111,nls=utf8 0 0

De esta manera indicaremos que el disco duro conectado al dispositivo USB sdc1 queremos que se monte automáticamente en /media/AUX1, con permisos de lectura escritura, para todos los usuarios, y estando el disco duro usando el sistema de archivos NTFS.

Si no sabemos en que device está conectado el disco duro, lo que haremos será conectar el disco duro al PC, y montarlo usando algunos de los mecanismos visuales que incluyen los escritorios GNOME o KDE. Una vez montado ejecutaremos:
sudo mount

y veremos una lista de todos los dispositivos montados en nuestro sistema.

Una vez editado el fichero fstab lo salvaremos y cerraremos el editor, con esto si tenemos el disco duro conectado al PC, cada vez que se arranque el sistema, se montará automáticamente.

Lo segundo es crear un archivo batch que especifique que copiar y a donde. Yo he llamado al fichero backup.sh, lo he creado en /home/misuario, y le he dado permisos de escritura, lectura y ejecución para todos los usuarios:
sudo chmod 777 /home/miusuario/backup.sh

Editamos el fichero, y añadimos lo siguiente:
mount -a

rsync -r -t -v --progress --delete -s /var/ftp /media/AUX1/
rsync -r -t -v --progress --delete -s /var/www /media/AUX1/

La primera línea es para asegurarnos que si por alguna razón no se han montado automáticamente los dispositivos indicados en el fichero fstab pues que lo haga ahora.

La segunda y tercera línea realizan la copia de dos directorios al disco duro externo USB. En el artículo anterior escribí como instalar la utilidad rsync (que sirve para sincronizar directorios).

El tercer paso es indicar al sistema que ejecute el fichero backup.sh todos los días a las 2:00h. Para realizarlo tendremos que editar el fichero /etc/crontab:
sudo kate /etc/crontab

Añadiendo esta línea:
* 2    * * *    root    /home/miusuario/backup.sh

Y listo, todos los días a las 2:00h se ejecutará nuestra copia de seguridad automáticamente, tanto si hemos iniciado sesión como si no.

Aquí podéis encontrar más información sobre los ficheros/comandos usados:

fstab

rsync

cron

mount

Comentarios

Entradas populares de este blog

Cosmic Supremacy : Juego 4X online, gratuito y multijugador basado en conquistas espaciales

  Llevaba bastante tiempo buscando un juego de estrategia en el espacio, multijugador , y que fuera por turnos . Un requisito que siempre tuve es que fuera fácil aprenderlo, y tuviera suficiente ayuda o tutoriales. Creo que lo he encontrado, se llama Cosmic Supremacy , y es gratis . Os dejo aquí información traducida desde su web oficial por si os animáis :) ¿Qué es Cosmic Supremacy? Cosmic Supremacy es un juego gratuito de estrategia espacial multijugador masivo basado en ticks/turnos con una interfaz 3D 'Galaxy View'. Compartes una galaxia con cientos de jugadores, cada uno con su propia civilización alienígena. Algunos de ellos pueden llegar a ser tus enemigos, otros podrían ser tus aliados. Necesitas explorar la galaxia que te rodea, descubrir nuevos sistemas solares, colonizar nuevos planetas y expandir tu imperio. Puedes diseñar todas las naves de tu flota e investigar nuevas tecnologías avanzadas para poder construir naves más rápidas y fuertes que te darán la ventaja ...

Hacer una pausa en un fichero por lotes batch (bat o cmd)

En consola de Windows (antiguamente Ms-Dos) desde siempre se ha podido hacer una pausa, esperando confirmación del usuario. El comando en cuestión es: pause Si escribimos pause en nuestra consola veremos que la consola se queda pausada hasta que pulsamos una tecla. Esto es útil en ficheros batch (ya sean .bat o .cmd) para hacer pausas controladas entre distintos comandos, a la espera que el usuario pulse alguna tecla para continua. Pero, ¿qué ocurre si queremos una pausa de cierto número de segundos y luego continúe el proceso automáticamente ? No hay ningún comando que lo haga, pero haciendo el siguiente "truco" (hace un ping a una URL especificando el número de segundos como timeout) lo podremos conseguir ping -n 10 localhost > null Simplemente cambiar el 10 por el número de segundos que queráis, y ya tendréis en consola (o msdos) una pausa de N segundos, y luego el proceso continuará automáticamente.  

Fraude SEUR SMS

Quería comentar y advertir de los cada vez más casos de fraude vía SMS que se están sufriendo relativos a entregas de paquetes. Cada vez es más normal que tengamos varios pedidos pendientes de entrega y no nos acordemos de todos de cabeza, y si recibimos un SMS relacionado con algún pedido, pinchemos en el enlace, ¡mucho cuidado! Hoy mismo he recibido este mensaje SMS en mi móvil: SEUR: envio 7770722 de LETMEKNOW no entregado por ausencia en domicilio. Programe nueva entrega en <página web> No especifico la URL de la página web que venía en el SMS por seguridad que nadie clique ahí. Desde el princiio esto me sonó a fraude más que a equivocación, primero porque no esperaba ningún paquete, segundo porque estaba en casa cuando recibí el SMS, y finalmente la página web me resultó sospechosa, ni siquiera era https... Al recibir el SMS busqué el número de teléfono desde el que me lo habían enviado, no obtuve ninguna información. Después busqué "SMS LETMEKNOW" y llegue a un ar...