Você não pode selecionar mais de 25 tópicos
Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
|
- #!/bin/bash
-
- usage()
- {
- echo "Usage: $0 -z UUID -d days -r folder -s server" >&2
- exit 1
- }
-
- while getopts "z:d:r:s:" opt;
- do
- case "$opt" in
- z)
- UUID=$OPTARG
- ;;
- d)
- DAYS=$OPTARG
- ;;
- r)
- FOLDER=$OPTARG
- ;;
- s)
- SERVER=$OPTARG
- ;;
- *)
- usage
- ;;
- esac
- done
-
- shift $((OPTIND-1))
-
- if [ -z "${UUID}" ] || [ -z "${DAYS}" ] || [ -z "${FOLDER}" ] || [ -z "${SERVER}" ]; then
- usage
- fi
-
- BRAND=`/usr/sbin/vmadm get $UUID | json brand | tr -d '\n'`
-
- RUTADESTINO="/zones/tools/mounts"
- RUTAORIGEN="/export/ftpbackup/${FOLDER}"
- SERVIDOR="${SERVER}"
-
- mkdir -p $RUTADESTINO
- mount $SERVIDOR:$RUTAORIGEN $RUTADESTINO
-
- if [ $? != 0 ]; then
- echo "MOUNT FAILED."
- umount $RUTADESTINO
- exit
- fi
-
- mkdir -p $RUTADESTINO/$UUID
-
- if [ $? != 0 ]; then
- echo "FAIL TO CREATE FOLDER $UUID."
- umount $RUTADESTINO
- exit
- fi
-
- # mantain backups of the last N days
- find $RUTADESTINO/$UUID -type f -mtime +$DAYS -delete
-
- snapshot()
- {
- /usr/sbin/zfs snapshot zones/$1@`date +%Y%m%d`
- /usr/sbin/zfs send zones/$1@`date +%Y%m%d` > $RUTADESTINO/$UUID/$1@`date +%Y%m%d`
- }
-
- snapshot $UUID
-
- if [ $BRAND = "kvm" ] || [ $BRAND = "bhyve" ] ; then
- snapshot $UUID-disk0
- elif [ $BRAND = "bhyve" ]; then
- snapshot $UUID-disk0
- fi
-
- /usr/sbin/zonecfg -z $UUID export > $RUTADESTINO/$UUID/$UUID.`date +%Y%m%d`.cfg
-
- umount $RUTADESTINO
|