<body>

Sitios web relacionados: PingBlog | Fotos

jueves, septiembre 08, 2005

¿Como hago para tener respaldos (con versiones) de mis archivos? (II)



En un articulo anterior les mostraba como preparar todo para hacer respaldos con CVS. Vamos ahora a ver aplicaciones.

Lo primero es ver que archivos han cambiado desde la última vez que revizamos; Para ello le decimos a CVS que revize el directorio padre o el archivo que cambió directamente (si sabemos eso):

[josevnz@localhost bash]$ cvs status host.bsh
===================================================================
File: host.bsh Status: Locally Modified

Working revision: 1.1.1.1 Sun Sep 4 01:21:11 2005
Repository revision: 1.1.1.1 /home/josevnz/cvsroot_josevnz/bash/host.bsh,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
Si usted cambia alguno de sus archivos, sólo tiene que guardarlos en CVS y de esa manera los tiene versionados automáticamente:
[josevnz@localhost bash]$ cvs ci -m 'Agregué una linea en blanco' host.bsh
Checking in host.bsh;
/home/josevnz/cvsroot_josevnz/bash/host.bsh,v <-- host.bsh new revision: 1.2; previous revision: 1.1
done

Y ahora la mejor parte, ¿como hago el respaldo? Fácil, sólo tenemos que sacar los archivos o directorios que quiero respaldar especificando que versión o fecha; Por ejemplo para sacar todos los archivos relacionados con una etiqueta hacemos así:
mkdir backup &&amp;amp; cd backup && cvs export -r release1_0 bash perl java
...
U java/test/cvex/tool/wget.class
U java/test/cvex/tool/wget.java
U java/test/cvex/tool/wget2.class
U java/test/cvex/tool/wget2.java
cvs export: Updating java/tomcatjdbc
U java/tomcatjdbc/build.xml
U java/tomcatjdbc/index.jsp
U java/tomcatjdbc/tomcatjdbc.war
cvs export: Updating java/tomcatjdbc/WEB-INF
U java/tomcatjdbc/WEB-INF/web.xml
cvs export: Updating java/tomcatjdbc/WEB-INF/classes
cvs export: Updating java/tomcatjdbc/WEB-INF/lib
cvs export: Updating java/xml-rpc
U java/xml-rpc/Ping.class
U java/xml-rpc/Ping.java
Y después de eso los respaldamos usando nuestras herramientas favoritas, por ejemplo con tar y bzip2:
[josevnz@localhost ~]$ tar -cvf - backup/|bzip2 -c > backup.tar.bz2
backup/perl/blog/
backup/perl/blog/ParseTrackIndex.plx
backup/perl/firewall/
backup/perl/firewall/Dshield/
backup/perl/firewall/Dshield/MANIFEST
backup/perl/firewall/Dshield/lib/
....
Sencillo, ¿no es así? piense en las posibilidades de hacer sus respaldos así, controlando exactamente lo que quiere almacenar; Por ejemplo, sino quiere almacenar código que no está listo, simplemente el comando export va a ignorar esos archivos (recuerde, export sólo va a buscar cosas que ya fueron guardadas en CVS, no las que fueron modificadas localmente).

Les prometo que dentro de poco les contaré como recuperar archivos individuales, comparar diferencias de archivos e inclusive ver que ha hecho usted hasta el momento con sus archivos. Y por último veremos un pequeño script el cual le va a permitir quemar un CD con sus archivos bajo Linux. Por ahora sólo quería convencerlos de los fácil que es trabajar con CVS, y entre esas cosas como hacer respaldos.

Buscar en Technorati:

0 Comentarios:

Publicar un comentario en la entrada

Enlaces a este articulo:

Crear un enlace

<< Regresar