3.140
modificacions
Canvis
Jump to navigation
Jump to search
cap resum d'edició
El procedimiento es sencillo, elegiremos los directorios y ficheros de los que queremos hacer el backup, y los copiaremos.
<pre>cp -rp ~/banyut /media/sdb5/backup/domingo</pre>
Es totalmente funcional, pero la verdad es que no es eficiente, el problema está en que cada lunes nos hará una copia completa de todos los archivos que tenemos en el directorio, cuando lo que seria deseable es que solo copiara los modificados o los creados des del último backup.
No hay problema, tenemos otra instrucción que nos ofrece esta funcionalidad.
<pre>rsync -altgvbp /home/banyut /media/sdb5/backup/domingo</pre>
Hoy no explicaré el comando rsync ni sus opciones, si alguien tiene alguna duda primero que consulte “man rsync” y después que pregunte.
Crontab nos permite ejecutar aplicaciones en un momento determinado, una única vez o de manera recurrente. En un principio puede parecer algo liosa pero en realidad es muy fácil de usar.
<pre>crontab -e </pre>
Esta instrucción nos permite editar el archivo /etc/crontab, en el que programaremos las instrucciones que queremos ejecutar.
0 1 * * 5 instrucción_sabado
0 1 * * 6 instrucción_domingo</pre>
Con esto conseguiremos que se ejecute cada día a las 01:00 horas las instrucciones indicadas. Podemos substituir “instrucción_******” por la orden rsync arriba descrita.
<pre>mkdir ~/.crono_bak
cd ~/.crono_bak</pre>
Dentro del directorio que acabamos de crear, crearemos siete ficheros mas llamados lunes.sh, martes.sh, ..., domingo.sh y en su interior pondremos lo siguiente.
<pre>!/bin/bash
date >> $pathLog
echo ----------------------------------------------------------------------- >> $pathLog</pre>
Este código es el que corresponde al script del lunes, para los otros seis haremos lo mismo pero substituyendo Lunes por el día de la semana concreto.
Una vez creados los siete ficheros, tendremos que darles permiso para poder ejecutarlos.
<pre>chmod +x *.sh</pre>
Para que se ejecute todos los dias a la 1 de la mañana, nuestro crontab quedará así.
<pre>m h dom mon dow command
0 1 * * 6 /home/banyut/.crono_back/sabado.sh >>/media/sdb5/backup/logcrono.log
0 1 * * 0 /home/banyut/.crono_back/domingo.sh >>/media/sdb5/backup/logcrono.log</pre>
Por su puesto, la ruta /media/sdb5/backup/sistema/ tiene que existir y en su interior tiene que haber 7 directorios llamados lunes, martes, etc.
Para poder revisar nuestra programación ejecutaremos:
<pre>crontab -l</pre>
He dado por hecho que el demonio cron esta activado, para comprobar esto podemos ejecutar.
<pre>ps -ef | grep crontab</pre>
En caso que no este en marcha lo iniciaremos de la siguiente forma
<pre>sudo /etc/init.d/cron start</pre>
Por último para ver si se ha ejecutado bien podemos mirar el log que hemos creado en /media/sdb5/backup/logcrono.log podemos mirar los logs del dia en concreto dentro de la carpeta /media/sdb5/backup/*****.log,tambien podemos ver cuando se ha ejecutado nuestro crontab consultando el log del systema.
<pre>cat /var/log/syslog |grep crontab</pre><br>
<br> font: http://banyut.obolog.com/copias-seguridad-ubuntu-crontab-rsync-dd-65952