#!/bin/bash
#v0.4_2012-05-09
#antilope114 hwluxx

SUFFIX_DIR=$(date +%F)
SUFFIX_FILE=$(date +%Y-%m-%d_%H:%M:%S)

POOL=(spool)
FS=(fs1 fs2 fs3/somefolder fs4)

for (( i=0;i<${#POOL[@]};i++)); do
        for (( j=0;j<${#FS[@]};j++)); do
	
		if [[ "$(basename $(dirname ${FS[($j)]}))" == "." ]]
			
			then FS_ACTIVE=${FS[($j)]}
			
			else FS_ACTIVE=$(dirname ${FS[($j)]})
		fi

		if [[ `echo $(zfs get keystatus ${POOL[($i)]}/$FS_ACTIVE) | awk '{print $7}'` == "unavailable" ]]
			
			then echo "Skipping "${POOL[($i)]}/${FS_ACTIVE}". Filesystem is "`echo $(zfs get keystatus ${POOL[($i)]}/$FS_ACTIVE) | awk '{print $7}'`"!"
			
		else 
			if [[ `echo $(zfs get mounted ${POOL[($i)]}/$FS_ACTIVE) | awk '{print $7}'` == "no" ]]
			
				then echo "Attempting to mount "${POOL[($i)]}/${FS_ACTIVE}; zfs mount ${POOL[($i)]}/$FS_ACTIVE;
					if [[ `echo $(zfs get mounted ${POOL[($i)]}/$FS_ACTIVE) | awk '{print $7}'` == "yes" ]]
						then echo ${POOL[($i)]}/${FS_ACTIVE}" mounted successfully.";
					else
						echo "Skipping "${POOL[($i)]}/${FS_ACTIVE}". Filesystem could not be mounted.";
						break;
					fi
				
			fi
			
			echo "Checking "${POOL[($i)]}/${FS_ACTIVE}"...";
			rsync --delete --backup-dir=~rsync_hist/~$SUFFIX_DIR --exclude=~rsync_hist --suffix=_$SUFFIX_FILE -abnPltDvzre "ssh -i /root/.hidrive-strato-key" /${POOL[($i)]}/${FS[($j)]} account-XXXX@rsync.hidrive.strato.com:/users/account-XXXX/zfs_backup/${POOL[($i)]}/

		fi
	done
done




