Hola a todos, Estoy usando un script para hacer backups incrementales usando el comando tar en combinacion con la opcion --newer de dicho comando. Tengo una duda sobre esta opción. Yo ejecuto por ejempo tar --newer 2005-01-24 -z -c -p -f incrembackup.tar.gz / Para hacer un backup completo y aparentemente funciona bien, pero he visto que hay ficheros que tienen una fecha anterior y que si se incluyen. por ejemplo zcat incrembackup.tar.gz | tar -tv ..... -rw-r--r-- root/root 2970 2002-06-16 23:01:31 usr/share/sgml/docbook/dsssl-stylesheets-1.78/doc/lib/string-replace.html -rw-r--r-- root/root 3144 2002-06-16 23:01:44 usr/share/sgml/docbook/dsssl-stylesheets-1.78/doc/lib/measurement-to-length.html -rw-r--r-- root/root 3500 2002-06-16 23:01:37 usr/share/sgml/docbook/dsssl-stylesheets-1.78/doc/lib/component-child-number.html -rw-r--r-- root/root 4033 2002-06-16 23:01:30 usr/share/sgml/docbook/dsssl-stylesheets-1.78/doc/lib/repl-substring-list-p.html -rw-r--r-- root/root 2757 2002-06-16 23:01:49 usr/share/sgml/docbook/dsssl-stylesheets-1.78/doc/lib/include-file.html ...... Esos ficheros tienen una fecha del 2002 y sin embargo están en la copia. He visto que solo pasa con algunos ficheros en otros funciona bien. Esto me hace sospechar que los ficheros en linux tienen 2 tipos de fecha y que lo que estoy usando no tiene en cuenta la fecha de modificicacion si no otro tipo, por ejemplo la de acceso o algo asi. ¿Alguien tiene una sugerencia al respecto? Gracias Emiliano Sutil
El Lunes, 31 de Enero de 2005 10:50, Emiliano Sutil escribió:
Esos ficheros tienen una fecha del 2002 y sin embargo están en la copia. He visto que solo pasa con algunos ficheros en otros funciona bien. Esto me hace sospechar que los ficheros en linux tienen 2 tipos de fecha y que lo que estoy usando no tiene en cuenta la fecha de modificicacion si no otro tipo, por ejemplo la de acceso o algo asi. ¿Alguien tiene una sugerencia al respecto?
* Los ficheros en linux mantienen tres timestaps, creacion, acceso, modificacion, no conozco la opcion newer ni la veo documentada en el man, el que mejor los preserva con un sistema en ejecucion es dump, modificaciones durante la copia, etc, no obstante yo los incrementales los hago con el siguiente script --atime-preserve no modifica el timestap de acceso, que el newer ese a lo peor lo hace, un touch /etc/nologin antes seria conveniente y rm /etc/nologin al terminar, y usa un compresor de bloque bzip2 por ejemplo, una tarea cron puede lanzarlo todo: #!/bin/bash t=`date +%F_%I-%M-%S` tar --force-local --atime-preserve \ -cpvjf /home/backup_$t.tar.bz2 /home/correo/ -g /home/backup.snapshot * Procura hacer los backups preservando todo lo posible, por que los backups solo sirven si se puede volver el sistema a su estado original, si no, no valen para nada. * Alguna de las opciones puede ser dependiente del paquete tar que tengas en tu distribucion, una de prueba y error.
jose maria wrote:
El Lunes, 31 de Enero de 2005 10:50, Emiliano Sutil escribió:
Esos ficheros tienen una fecha del 2002 y sin embargo están en la copia. He visto que solo pasa con algunos ficheros en otros funciona bien. Esto me hace sospechar que los ficheros en linux tienen 2 tipos de fecha y que lo que estoy usando no tiene en cuenta la fecha de modificicacion si no otro tipo, por ejemplo la de acceso o algo asi. ¿Alguien tiene una sugerencia al respecto?
* Los ficheros en linux mantienen tres timestaps, creacion, acceso, modificacion, no conozco la opcion newer ni la veo documentada en el man, el
si que esta en el man -N, --after-date=DATE, --newer=DATE only store files newer than DATE
que mejor los preserva con un sistema en ejecucion es dump, modificaciones durante la copia, etc, no obstante yo los incrementales los hago con el siguiente script --atime-preserve no modifica el timestap de acceso, que el newer ese a lo peor lo hace, un touch /etc/nologin antes seria conveniente y rm /etc/nologin al terminar, y usa un compresor de bloque bzip2 por ejemplo, una tarea cron puede lanzarlo todo:
#!/bin/bash t=`date +%F_%I-%M-%S` tar --force-local --atime-preserve \ -cpvjf /home/backup_$t.tar.bz2 /home/correo/ -g /home/backup.snapshot
* Procura hacer los backups preservando todo lo posible, por que los backups solo sirven si se puede volver el sistema a su estado original, si no, no valen para nada.
* Alguna de las opciones puede ser dependiente del paquete tar que tengas en tu distribucion, una de prueba y error.
Echare un ojo a las opciones esas que comentas sobre todo a la --atime-preserve. Una pregunta, bzip2 comprime más que gzip? No comprendo bien la opcion que usas -g /home/backup.snapshot ¿que hace eso exactamente? Gracias por todo Salu2 Emiliano Sutil
El Martes, 1 de Febrero de 2005 11:51, Emiliano Sutil escribió:
si que esta en el man -N, --after-date=DATE, --newer=DATE only store files newer than DATE
* Pero esto no es un incremental, lo que hace es copiar ficheros desde tal fecha.
Echare un ojo a las opciones esas que comentas sobre todo a la --atime-preserve. Una pregunta, bzip2 comprime más que gzip?
* Si comprime mas, pero esta no es su mejor caracteristica, bzip2 es un compresor de bloque es decir comprime por bloques, y si un bloque se jode recuperas el resto, gzip es un solo bloque, si se jode dificil de recuperar por no decir imposible, no obstante suele ser conveniente desempaquetar y descomprimir el fichero resultante, para comprabar que todo OK.
No comprendo bien la opcion que usas -g /home/backup.snapshot ¿que hace eso exactamente?
* la opcion -g y el snapsot es lo necesario para que a la siguiente ejecucion, se haga un incremental simplemente, es decir la primera ejecucion genera un total y guarda el estado y las caracteristicas de la copia en snapshot, timestaps, nombres, tamaño de los ficheros, etc, la siguiente ejecucion lee snapshot y hace copia de aquello que ha sido modificado, creado, etc, se actualiza el snapshot, etc, etc, si no habria que releer el comprimido original hacer una comparacion con el estado actual del sistema, hacer el diferencial y volver a comprimir ambos, digamos que snapshot seria como una base de datos de las caracteristicas o estado de la copia.
jose maria wrote:
El Martes, 1 de Febrero de 2005 11:51, Emiliano Sutil escribió:
si que esta en el man -N, --after-date=DATE, --newer=DATE only store files newer than DATE
* Pero esto no es un incremental, lo que hace es copiar ficheros desde tal fecha.
Bueno, no es exactamente incremental pero hace lo que quiero, tengo un script que mantinene la fecha de cuando se hizo la copia completa y luego los dias posteriores uso la opcio --newer para que solo se metan al tar los ficheros que se han cambiado. Este script esta basado en este http://www.faqs.org/docs/securing/chap29sec306.html
Echare un ojo a las opciones esas que comentas sobre todo a la --atime-preserve. Una pregunta, bzip2 comprime más que gzip?
* Si comprime mas, pero esta no es su mejor caracteristica, bzip2 es un compresor de bloque es decir comprime por bloques, y si un bloque se jode recuperas el resto, gzip es un solo bloque, si se jode dificil de recuperar por no decir imposible, no obstante suele ser conveniente desempaquetar y descomprimir el fichero resultante, para comprabar que todo OK.
Pues me has convencido, ahora mismo me paso al bzip :-)
No comprendo bien la opcion que usas -g /home/backup.snapshot ¿que hace eso exactamente?
* la opcion -g y el snapsot es lo necesario para que a la siguiente ejecucion, se haga un incremental simplemente, es decir la primera ejecucion genera un total y guarda el estado y las caracteristicas de la copia en snapshot, timestaps, nombres, tamaño de los ficheros, etc, la siguiente ejecucion lee snapshot y hace copia de aquello que ha sido modificado, creado, etc, se actualiza el snapshot, etc, etc, si no habria que releer el comprimido original hacer una comparacion con el estado actual del sistema, hacer el diferencial y volver a comprimir ambos, digamos que snapshot seria como una base de datos de las caracteristicas o estado de la copia.
Oye, pues esta opcion no la conocía, la probaré a ver. una pregunta y para descomprimir basandose en esto? simplemente hay que indicarle igualmente la opcion -g? y si se jode el snapshot como sacas lo que hay dentro? Salu2 Emi
El Miércoles, 2 de Febrero de 2005 10:58, Emiliano Sutil escribió:
Oye, pues esta opcion no la conocía, la probaré a ver. una pregunta y para descomprimir basandose en esto? simplemente hay que indicarle igualmente la opcion -g? y si se jode el snapshot como sacas lo que hay dentro?
* Snapshot solo contiene caracteristicas para el asunto de los incrementales, no lo tienes que descomprimir, si se jode snapshot, no podra seguir haciendo incrementales correctamente, inicia la secuencia de nuevo con un total, el fichero feten es el resultante bz2, pon atencion de que la inclusion de la variable t , es para que cree un fichero diferente siempre en nombre y lo tengas claro con las fechas, si no en una ejecucion desatendida por ejemplo, uno machacaria otro, la restauracion seria descomprimir el primero, el que contiene el total o la primera vez que se ejecuto, tar xvjf para desempaquetar y descomprimir, y luego ir desempaquetando y descomprimiendo, aplicando al general por orden de fecha. * Yo iniciaria la secuencia de nuevo con un total no mas alla de una semana y manda una copia a otra maquina, esto tambien lo puedes hacer por ssh desatendidamente o metelos en algun medio de almacenamiento externo, dejar el backup en la misma maquina, es igual que no hacerlo.
participants (2)
-
Emiliano Sutil
-
jose maria