| @@ -1,13 +1,31 @@ | |||
| #!/usr/bin/bash | |||
| if [ "$#" -ne 2 ]; then | |||
| echo "Illegal number of parameters" | |||
| echo "Usage: $0 {UUID} {DESTINYNODE}" | |||
| usage() | |||
| { | |||
| echo "Usage: $0 -z UUID -h hostname" >&2 | |||
| exit 1 | |||
| fi | |||
| } | |||
| UUID=$1 | |||
| NODODESTINO=$2 | |||
| while getopts "z:h:" opt; | |||
| do | |||
| case "$opt" in | |||
| z) | |||
| UUID=$OPTARG | |||
| ;; | |||
| h) | |||
| HOSTNAME=$OPTARG | |||
| ;; | |||
| *) | |||
| usage | |||
| ;; | |||
| esac | |||
| done | |||
| shift $((OPTIND-1)) | |||
| if [ -z "${UUID}" ] || [ -h "${HOSTNAME}" ]; then | |||
| usage | |||
| fi | |||
| KEYFILE="/usbkey/ssh/id_rsa" | |||
| DESTINYPORT="2221" | |||
| @@ -27,9 +45,9 @@ fi | |||
| snapshot() | |||
| { | |||
| zfs snapshot $1@`date +%Y%m%d` | |||
| zfs send $1@`date +%Y%m%d` | $SSH $NODODESTINO zfs receive $1 | |||
| zfs send $1@`date +%Y%m%d` | $SSH $HOSTNAME zfs receive $1 | |||
| zfs snapshot $1@`date +%Y%m%d`.incremental | |||
| zfs send -i $1@`date +%Y%m%d` $1@`date +%Y%m%d`.incremental | $SSH $NODODESTINO zfs receive $1 | |||
| zfs send -i $1@`date +%Y%m%d` $1@`date +%Y%m%d`.incremental | $SSH $HOSTNAME zfs receive $1 | |||
| } | |||
| # capturamos el alias que vmadm usa en base64 y que da problemas con el mitico zonecfg | |||
| @@ -62,18 +80,18 @@ fi | |||
| echo "exportamos configuracion..." | |||
| zonecfg -z ${UUID} export > $CFG/${UUID}.cfg | |||
| $SCP $CFG/${UUID}.cfg $NODODESTINO:$CFG/${UUID}.cfg | |||
| $SCP $CFG/${UUID}.cfg $HOSTNAME:$CFG/${UUID}.cfg | |||
| # destino | |||
| echo "enviamos config a destino..." | |||
| $SSH $NODODESTINO zonecfg -z ${UUID} < $CFG/${UUID}.cfg | |||
| $SSH $NODODESTINO zoneadm -z ${UUID} attach | |||
| $SSH $NODODESTINO zoneadm -z ${UUID} halt | |||
| $SSH $HOSTNAME zonecfg -z ${UUID} < $CFG/${UUID}.cfg | |||
| $SSH $HOSTNAME zoneadm -z ${UUID} attach | |||
| $SSH $HOSTNAME zoneadm -z ${UUID} halt | |||
| # reestablecemos el alias que usa vmadm | |||
| $SSH $NODODESTINO vmadm update ${UUID} alias=${ALIAS} | |||
| $SSH $HOSTNAME vmadm update ${UUID} alias=${ALIAS} | |||
| vmadm update ${UUID} alias=${ALIAS} | |||
| # detenemos la zona en local | |||
| @@ -82,7 +100,7 @@ zoneadm -z ${UUID} halt | |||
| # iniciamos la zona en remoto | |||
| $SSH $NODODESTINO zoneadm -z ${UUID} boot | |||
| $SSH $HOSTNAME zoneadm -z ${UUID} boot | |||
| # TODO: | |||