|
|
|
@@ -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 |