From eb51ee8d97e05b0bdb57fb7eef187b54af278ec2 Mon Sep 17 00:00:00 2001 From: pinkfeet Date: Fri, 8 Feb 2019 13:01:04 +0100 Subject: [PATCH] =?UTF-8?q?a=C3=B1ado=20debug=20de=20comandos=20y=20contro?= =?UTF-8?q?l=20de=20valores=20de=20retorno?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zonemigrate.sh | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/zonemigrate.sh b/zonemigrate.sh index b60f214..a0151e2 100755 --- a/zonemigrate.sh +++ b/zonemigrate.sh @@ -42,12 +42,29 @@ if [ ! -f $KEYFILE ]; then exit 1 fi +check() +{ + if [ $1 != 0 ]; then + echo "exiting ... $1" + exit $1 + else echo "done." + fi +} + snapshot() { + echo "creando snapshot de $1 ..." zfs snapshot $1@`date +%Y%m%d` + check $? + echo "enviando snapshot de $1 a $HOSTNAME ..." zfs send $1@`date +%Y%m%d` | $SSH $HOSTNAME zfs receive $1 + check $? + echo "creando snapshot incremental de $1 ..." zfs snapshot $1@`date +%Y%m%d`.incremental + check $? + echo "enviando snapshot incremental de $1 a $HOSTNAME ..." zfs send -i $1@`date +%Y%m%d` $1@`date +%Y%m%d`.incremental | $SSH $HOSTNAME zfs receive $1 + check $? } # capturamos el alias que vmadm usa en base64 y que da problemas con el mitico zonecfg @@ -59,8 +76,8 @@ zonecfg -z ${UUID} "select attr name=alias; set value=temporal; end" snapshot ${ZONEPATH} -# verificamos si estamos tratando con una kvm y si es asi la respaldamos -echo "verificamos filesystems (kvm) adicionales..." +# verificamos si estamos tratando con una bhyve/kvm y si es asi la respaldamos +echo "verificamos filesystems (bhyve|kvm) adicionales..." if [ $BRAND = "kvm" ] || [ $BRAND = "bhyve" ] ; then FILESYSTEM=`vmadm get ${UUID} | json disks.0.zfs_filesystem | tr -d '\n'` @@ -102,7 +119,6 @@ zoneadm -z ${UUID} halt $SSH $HOSTNAME zoneadm -z ${UUID} boot - # TODO: # - puede haber mas de un FILESYSTEM en la zona, necesitamos iterar por el array y lanzar la funcion snapshot sobre cada uno de ellos # - puede haber mas de un DATASET en la zona, necesitamos iterar por el array y lanzar la funcion snapshot sobre cada uno