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:
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:
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:
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:
Editamos el fichero, y añadimos lo siguiente:
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:
Añadiendo esta línea:
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
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
Publicar un comentario