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

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.  

jQuery Cycle Plugin - Transiciones animadas de imágenes (slideshow)

jQuery Cycle plugin proporciona un mecanismo de hacer transiciones animadas de imágenes . Su implementación está basada en el InnerFade Plugin de Torsten Baldes, el Slideshow Plugin de Matt Oakes, y el jqShuffle Plugin de Benjamin Sterling. El plugin soporta pausas al pasar el ratón por encima de la imágen, paradas automáticas, retrollamadas (callbacks) antes y después, disparadores (triggers) y una gran cantidad de efectos para las trasiciones. La última versión estable (2.34), publicada en esta misma semana, requiere, como mínimo, la versión 1.2.3 de jQuery . Es un plugin muy ligero, tan solo ocupa 18 KB en su versión para entornos de producción. Como casi todo en jQuery , es muy fácil de usar. Aquí pongo un breve ejemplo básico: HTML: [sourcecode language="html"] [/sourcecode] CSS: [sourcecode language="css"] .pics { height: 232px; width: 232px; padding: 0; margin: 0; } .pics img { padding: 15px; border: 1px solid #ccc;

Instalación y configuración del foro phpBB3

Voy a intentar enumerar y describir el proceso de instalar, configurar, e incluso personalizar algunos aspectos del famoso foro open-source phpBB . Lo primero es descargarlo desde aquí https://www.phpbb.com/downloads El enlace anterior descargará phpBB3 en inglés (aunque luego se pueden instalar otros idiomas). Pero si lo queremos ya directamente en español lo descargaremos desde la web oficial de phpBB3 en español http://www.phpbb-es.com/ . Siendo la URL de descarga: http://www.phpbb-es.com/foro/descargas.php Lo descomprimiremos en nuestro directorio web público a Internet. Por ejemplo, en caso de usar XAMPP para Windows, lo descomprimiremos en C:xampphtdocsphpbb3 Ahora desde nuestro navegador web accederemos a la URL donde lo hemos instalado, siguiendo nuestro ejemplo local con Windows XAMPP sería: http://localhost/phpbb3 Aparecerá una venta similar a esta: Donde seleccionaremos la pestaña "Install" e iremos siguiendo los pasos uno a uno hasta que esté instalado con la conf