Páginas

Mostrando entradas con la etiqueta bsdtar. Mostrar todas las entradas
Mostrando entradas con la etiqueta bsdtar. Mostrar todas las entradas

miércoles, 21 de septiembre de 2022

Freebsd tar Excluir Directorios

Fuente:
https://www.gnu.org/software/tar/manual/html_node/exclude.html#exclude

Ciertas opciones para tar le permite especificar un nombre para su archivo. Otras opciones le permiten decidir qué archivos incluir o excluir del archivo, en función de cuándo o si se modificaron los archivos, si los nombres de los archivos coinciden o no con los patrones especificados, o si los archivos están en directorios especificados.

Realizar copias con tar excluyendo directorios listados dentro de un archivo, utilizando la opción --exclude-from

Importamos el zpool copias


# zpool import copias

# zpool status
  pool: copias
 state: ONLINE
config:

	NAME        STATE     READ WRITE CKSUM
	copias      ONLINE       0     0     0
	  da0p1     ONLINE       0     0     0

errors: No known data errors

  pool: zroot
 state: ONLINE
config:

	NAME        STATE     READ WRITE CKSUM
	zroot       ONLINE       0     0     0
	  nvd0p4    ONLINE       0     0     0

errors: No known data errors

Creamos el archivo excluir_dirs.txt donde incluiremos todos los directorios a excluir de la copia

carlos@foo:~ % pwd


/usr/home/carlos

carlos@foo:~ % touch excluir_dirs.txt

Tenga en cuenta que las líneas del archivo se leen palabra por palabra. Uno de los los errores frecuentes es dejar espacios en blanco adicionales después de un nombre de archivo, que es difícil de detectar usando editores de texto. Sin embargo, las líneas vacías están bien

carlos@foo:~ % cat excluir_dirs.txt


./.ssh
./.dbus
./.mozilla
./.cache
./Descargas
./DevOps_Bootcamp
./Musica

# tar cfCv - /usr/home/carlos/ --exclude-from excluir_dirs.txt . | \
tar xpfC - /copias/tar_home_fbsd

-c Crear un nuevo archivo que contenga los elementos especificados

-f Leer el archivo desde o escribir el archivo en el fichero especificado

-C directorio, --cd directorio. En el modo c y r, esto cambia el directorio antes de añadir los siguientes archivos.

-v Produce una salida detallada. En los modos de creación y extracción, tar enumerará cada nombre de archivo a medida que se lea o escriba en el archivo.

-x Extraer al disco desde el archivo. Si un archivo con el mismo nombre aparece más de una vez en el archivo, cada copia será extraído, y las copias posteriores sobrescribirán las anteriores copias.

-p --preserve-permissions (sólo en modo x) Preserva los permisos de los archivos. Intenta restaurar los permisos completos

Exportar el zpool copias


# zpool export copias

carlos@foo:~ % ls -Fa


...
.ssh/
.cache/
.dbus/
.mozilla
Avanzado/
bhyve/
Dell-7390/
Descargas/
DevOps_Bootcamp/
docs/
Documentos/
Ebooks/
Escritorio/
excluir_dirs.txt
Imagenes/
Musica/
Plantillas/
Publico/
scripts/
Videos/

FreeBSD es genial!.

martes, 7 de julio de 2015

Particiones gpart FreeBSD bsdtar

FreeBSD y gpart para reparticionar la particion de 364GB destinada a datos y crear dos particiones, la primera dedicada a guardar un archivo tar.gz del sistema root y la segunda de datos.

Como crear una imagen del sistema raiz completo archivo.tar.gz con bsdtar
Como restaurar el sistema raiz con bsdtar.

Enumerar las particiónes del disco para ver la configuracion actual:
# gpart show ada0


El esquema de partición actual.

/dev/ada0p1 freebsd-boot - 512G
/dev/ada0p2 freebsd-ufs - 98G
/dev/ada0p3 freebsd-swap - 4G
/dev/ada0p4 freebsd-ufs - 364G

/dev/ada0p4 es la partición a modificar.

Lo primero es hacer copia de seguridad de todos los datos al servidor con rsync.

$ rsync -avz --stats /mnt/datos/* root@192.168.1.254:/volume1/NetBackup/datos-HD-500-dell/
...
Number of files: 33,909 (reg: 24,404, dir: 9,505)
Number of created files: 33,848 (reg: 24,360, dir: 9,488)
Number of regular files transferred: 24,360
Total file size: 94,221,107,499 bytes
Total transferred file size: 94,055,122,224 bytes
Literal data: 94,055,122,224 bytes
Matched data: 0 bytes
File list size: 1,260,226
File list generation time: 0.003 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 91,464,319,664
Total bytes received: 577,095

sent 91,464,319,664 bytes  received 577,095 bytes  4,876,437.33 bytes/sec
total size is 94,221,107,499  speedup is 1.03

Eliminar la partición de datos (364G):
# gpart delete -i 4 ada0

Tengo 364G libres

Crear una partición de 100G:
# gpart add -s 100G -t freebsd-ufs ada0
ada0p4 added


La siguiente partición ocupa el resto de espacio libre:
# gpart add -t freebsd-ufs ada0
ada0p5 added

/dev/ada0p5 (264G) es la partición de datos.
/dev/ada0p4 (100G) la partición donde se guardarán las imagenes de copia de seguridad del sistema raiz (tar.gz).

Por ultimo crear los sistemas de ficheros:
# newfs -U /dev/ada0p4


# newfs -U /dev/ada0p5


Poner etiquetas (label):

$ glabel label systemtar /dev/ada0p4
$ glabel label datos /dev/ada0p5

# ls /dev/label/
datos  systemtar

Montar la partición de datos:

# mkdir /mnt/datos

Cambiar los permisos del directorio /mnt/datos a un usuario sin privilegios
# chown carles /mnt/datos

# mount -t -o rw /dev/ada0p5 /mnt/datos
# chown carles /mnt/datos

 Copiar los datos con rsync desde el servidor al directorio local:
$ rsync -avz --stats root@192.168.1.254:/volume1/NetBackup/datos-HD-500-dell/ /mnt/datos/

Number of files: 33,910 (reg: 24,404, dir: 9,506)
Number of created files: 2,637 (reg: 2,560, dir: 77)
Number of regular files transferred: 2,560
Total file size: 94,221,107,499 bytes
Total transferred file size: 7,147,728,070 bytes
Literal data: 7,147,728,070 bytes
Matched data: 0 bytes
File list size: 365,294
File list generation time: 0.014 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 58,503
Total bytes received: 7,151,528,689
...

Copia de seguridad con bsdtar del sistema raiz:

Iniciar el sistema en modo single user:

Pulsar la barra espaciadora para detener la cuenta atrás y luego la tecla 2 (single user)

Presionar Intro para la shell por defecto y teclee la contraseña de root si la ha implementado en su servidor.

Copia de seguridad del sistema:

En el símbolo del sistema teclear:

# fsck -p
# mount -u /
# swapon -a
# adjkerntz -i

Crear el directorio donde se guarda el archivo tar.gz
# mkdir /mnt/sysbsdtar

Montar la particion  (100G), a la que volcaremos la copia bsdtar del
sistema raiz freebsd, para recuperarlo en caso de querer volver a un estado
anterior:

# mount -t ufs -o rw /dev/ada0p4 /mnt/sysbsdtar

Cambiar al directorio raiz (particion a respaldar):
# cd /

Realizar la copia de respaldo:
# bsdtar cvfz /mnt/sysbsdtar/ada0p2-7-7-2015.tar.gz --exclude=home *

Despues de finalizar la copia desmontamos la particion:
# umount /mnt/sysbsdtar
# reboot


Restaurar la copia del sistema:

Iniciar en modo single user

Presionar Intro para la shell por defecto.

En el símbolo del sistema teclear:

# fsck -p
# mount -u /
# swapon -a
# adjkerntz -i

Formatear el sistema de ficheros a restaurar (Perdera todos los datos)
# newfs -U /dev/ada0p2

Crear el directorio
# mkdir /mnt/raiz
# mkdir /mnt/copia

Montar particiones
# mount -t ufs -o rw /dev/ada0p2 /mnt/raiz
# mount -t ufs -o ro /dev/ada0p4 /mnt/copia

# cd /mnt/raiz

Restaurar particion raiz
# bsdtar xvzf /mnt/copia/ada0p2-7-7-2015.tar.gz .

# cd /
Desmontar particion:
# umount /mnt/copia
# reboot

Unix es genial!.

viernes, 13 de junio de 2014

FreeBSD cambiar disco duro


Cambiar disco duro conservando la configuración actual del sistema FreeBSD.

tar es una aplicacion creada alrededor de 1975 que trabaja en cooperación con el sistema de ficheros. En FreeBSD el comando por defecto es bsdtar.

En este caso se trata de duplicar un sistema FreeBSD instalado en un disco duro de 320 GB a otro un disco duro de 120 GB. El espacio utilzado en el disco duro actual (320 GB) es de 30 GB, por tanto un disco duro de 120 GB dispone de espacio suficiente.

Los pasos a seguir son:

Realizamos una instalación mínima en el disco duro de 120 GB que a partir de ahora llamaremos ada1. Igual que el disco duro de 320 GB que llamaremos ada0 el particionado utilizado desde el instalador es auto. Este es el resultado:

Disco ada0:
/dev/ada0p1 boot
/dev/ada0p2 raiz
/dev/ada0p3 swap

Disco ada1:
Disco ada0:
/dev/ada1p1 boot
/dev/ada1p2 raiz
/dev/ada1p3 swap


Comprobar que la instalación mínima (ada1) arranca.

El disco duro ada0 conectarlo como master
El disco duro ada1 conectar como esclavo.

Arrancar el sistema desde el disco duro ada0 (desde la bios puede cambiarse la secuencia de arranque) en modo single user pulsando la barra espaciadora en la cuenta atrás de 10 segundos y pulsar 6 (single user). Presionar Enter para la shell por defecto.

Desde el símbolo del sistema:

# fsck -p
# mount -u /
# mount -a
# swapon -a
# adjkerntz -i

Asegúrese que los archivos de dispositivos del disco duro esclavo (ada1) han sido creados:
# ls /dev/ada1*

/dev/ada1p1
/dev/ada1p2
/dev/ada1p3

Crear un sistema de ficheros nuevo en la partición raiz el disco nuevo ada1 (120 GB). Dejamos sin cambios la partición de arranque /dev/ada1p1:

# newfs /dev/ada1p2

Crear el punto de montaje
# mkdir /mnt/root

Montar la partición:
# mount /dev/ada1p2 /mnt/root

Vamos a crear un archivo tar.gz de la partición raiz /dev/ada0p2 (disco ada0). :
# cd /
# bsdtar czvf /mnt/root/ada0p2.tar.gz *

Si se fija este archivo tar.gz ha sido creado en la particion ada1p2 (raiz) del disco nuevo. Vamos a copiarlo al disco duro ada0 para dejar la partición raiz del disco duro nuevo libre:

# mkdir /dbackup
# cp /mnt/root/ada0p2.tar.gz /dbackup/

Si quiere puede borrar el archivo tar.gz del disco duro nuevo:
# rm -f /mnt/root/ada0p2.tar.gz

Restaurar los datos en el disco duro nuevo:
# cd /mnt/root/
# bsdtar xzvf /dbackup/ada0p2.tar.gz

Después de finalizar, desmonte la partición y permita softupdates en la nueva unidad.
# umount /mnt/root
# tunefs -n enable /dev/ada1p2

Todo lo que debe hacer ahora es apagar el sistema desconectar el disco duro viejo (ada0) y conectar el nuevo disco duro como master e iniciar el sistema desde el nuevo disco duro:
# shutdown -p now

Unix es genial!.

sábado, 20 de julio de 2013

Backup sistema FreeBSD bsdtar


El objetivo es realizar una copia de respaldo del sistema completo en un disco duro externo. Los datos, que residen en otra partición, (/dev/ads0s2) quedan respaldados con rsync directamente en el servidor local.

El sistema es un portátil  (Dell Inspiron) con freeBSD RELEASE-9.1 y gnome2 instalado. FreeBSD sistema operativo con excelente documentación utilizado principalmente en servidores de pequeñas, medianas y grandes empresas pero que funciona perfectamente en pc's de sobremesa y portátiles cuyo hardware sea soportado por FreeBSD.


Iniciar el sistema en modo single user.

Pulsar la barra espaciadora en la cuenta atrás y luego pulsar 6 (single user)

Presionar Intro para la shell por defecto y teclear la contraseña de root si fuera necesario.

Copia de seguridad del sistema

En el símbolo del sistema teclear:

# fsck -p
# mount -u /
# mount -a
# swapon -a
# adjkerntz -i

Nota: El disco externo usb (ada0) al que se copiará el archivo tar.gz (archivo tar comprimido) ha sido particionado utilizando fdisk desde la consola del sistema. La partición a respaldar es /dev/ada0s4a.

Crear sistema de archivos
# newfs -U /dev/da0s1

Montar primera particion (a) del primer disco
# mount -t ufs -o ro /dev/ada0s4a /media

Montar primera (a) del disco duro externo (usb).
# mount -t ufs -o rw /dev/da0s1 /mnt

Nuevo directorio donde se guardará el archivo tar.gz
# mkdir -p /mnt/%backup%/ada0s4a-20-7-2013/

Cambiar a directorio raiz (partición a respaldar)
# cd /

Hacer respaldo, excluir home (es solo un enlace a /usr/home)
# bsdtar cvfz /mnt/%backup%/ada0s4a-20-7-2013/freebsd-system.tar.gz --exclude=home *

# cd /
# umount /mnt
# umount /media
# reboot

Restaurar copia de seguridad:
Iniciar el sistema en modo single user.

Pulsar la barra espaciadora en la cuenta atrás y luego pulsar 6 (single user).

Presionar Intro para la shell por defecto.

En el símbolo del sistema teclear:

# fsck -p
# mount -u /
# mount -a
# swapon -a
# adjkerntz -i
Formatear el sistema de ficheros a restaurar
# newfs -U /dev/ada0s4a

Montar particiones
# mount -t ufs -o rw /dev/ada0s4a /media
# mount -t ufs -o ro /dev/da0s1 /mnt
# cd /mnt/media

Emperar la restauración
# bsdtar xvzf /mnt/%backup%/ada0s4a-20-7-2013/freebsd-system.tar.gz
# cd /

Desmontar partición
# umount /mnt /media

Reiniciar
# reboot

Fuente: http://www.freebsd.org/doc/es_ES.ISO8859-1/books/handbook/backup-basics.html

Los programadores de freebsd recuerdan:
"No hacer nada" no es un programa, pero es la estrategia de respaldo más extendida. No tiene coste. No hay un calendario de respaldos a seguir. Simplemente hay que decir que no. Si algo le sucediera a sus datos sonría y acostúmbrese a su nueva situación."

FreeBSD es genial!.