#!/bin/bash
#                       /usr/local/bin/syncmegeso
# https://crystalfaeries.net/posix/bin/syncmegeso
# celeste:crystalfaery SYNCMEGESO 2021-04-18 00:16:01+00:00
# synchronize fey's data with Megeso's My Passport Disk

cd -P $HOME
let hd_full=$(df --full | grep /dev/mapper/fae--vg-home | sed 's/\%.*$// ; s/^.* //')
echo "hd_full=${hd_full}"

uuid="$(ls -FlaR /dev/disk/by-uuid/	| \
	grep sdb2			| \
	sed 's/ -> .*$// ; s/^.* //')"
echo "uuid=${uuid}"
case	  "${uuid}" in

# Megeso's My Passport Disk Drive
26187ED6187EA509 | /media/`whoami`/Megeso\040Backup\040files )
	echo	"Megeso's My Passport Disk Drive:"
	if	$( grep	sdb2		/etc/mtab > /dev/null 2>&1 )
	then
		echo	"`grep	sdb2	/etc/mtab`"	# we seem to be mounted already?
	else
		echo	"`grep	sdb2	/proc/partitions`"	# we are not mounted?
	sudo	mkdir	-p				  /media/`whoami`/"${uuid}"	&&	\
	sudo	chown	`whoami`:			  /media/`whoami`/"${uuid}"
#	sudo	fsck	-t ext4				/dev/disk/by-uuid/"${uuid}"	&&	\
#	sudo	mount	-t ext4 -o errors=remount-ro	/dev/disk/by-uuid/"${uuid}"		\
#							  /media/`whoami`/"${uuid}"	|| exit $?
	fi
	let	usb_full=100	# Play it safe
	let	usb_full=$(df | grep "26187ED6187EA509" | sed 's/\%.*$// ; s/^.* //')
	if [  ${usb_full} -eq 100 ]
	then
	    let	usb_full=$(df | grep "Megeso Backup files" | sed 's/\%.*$// ; s/^.* //')
	fi
	echo	 "usb_full=${usb_full}"
	if [	${usb_full}	-ge	98	]
	then	# outa space on Hard Drive so exclude audio backup
 		echo -n	"Backing-Up ONLY website NON-AUDIO contents to USB Drive..."

		#	WE ACCUMULATE .dar BACKUPS OF  FEY
		chown -R celeste:staff						\
		/media/`whoami`/"${uuid}/crystalfaeries.net"/fey			# correct permissions
		chmod 2775	/media/`whoami`/"${uuid}/crystalfaeries.net"/fey	# correct permissions
		rsync -auvH	$HOME/crystalfaeries.net/fey/*			\
		/media/`whoami`/"${uuid}/crystalfaeries.net"/fey			# accumulate .dar backups until manual	intervention
		chown -R celeste:staff						\
		/media/`whoami`/"${uuid}/crystalfaeries.net"/fey			# correct permissions
		chmod 2775	/media/`whoami`/"${uuid}/crystalfaeries.net"/fey	# correct permissions

		# backup with deleting posix (which may have been a symlink)
		if [ -L	/media/`whoami`/"${uuid}/crystalfaeries.net"/posix ]
		then
		  rm	/media/`whoami`/"${uuid}/crystalfaeries.net"/posix	# clear symlink out of the way
		  mkdir	/media/`whoami`/"${uuid}/crystalfaeries.net"/posix	# ensure directory is present
		fi
		rsync --delete	-auvH	     /usr/local/{.??,}*				\
			/media/`whoami`/"${uuid}/crystalfaeries.net"/posix # backup posix

		# backup with deleting all but audio and some tansients:
		delete -rf /media/`whoami`/"${uuid}/crystalfaeries.net"/galleries
		rsync --delete	-auvH							\
			--exclude=audio							\
			--exclude=fey							\
			--exclude=galleries						\
			--exclude=posix							\
			--exclude=video/security_now/					\
			--exclude=video/flute/flute_fundamentals_hd-wvwrzo2_r_q.mp4	\
			$HOME/crystalfaeries.net/{.??,}*				\
			/media/`whoami`/"${uuid}/crystalfaeries.net"

	else	# have space on USB Drive so backup to it!
		echo -n	"Backing-Up ALL website contents to USB Drive..."

		#	WE ACCUMULATE .dar BACKUPS OF  FEY
		chown -R celeste:staff						\
		/media/`whoami`/"${uuid}/crystalfaeries.net"/fey			# correct permissions
		chmod 2775	/media/`whoami`/"${uuid}/crystalfaeries.net"/fey	# correct permissions
		rsync -auvH	$HOME/crystalfaeries.net/fey/*			\
		/media/`whoami`/"${uuid}/crystalfaeries.net"/fey			# accumulate .dar backups until manual	intervention
		chown -R celeste:staff						\
		/media/`whoami`/"${uuid}/crystalfaeries.net"/fey			# correct permissions
		chmod 2775	/media/`whoami`/"${uuid}/crystalfaeries.net"/fey	# correct permissions

		# backup with deleting posix (which may have been a symlink)
		if [ -L	/media/`whoami`/"${uuid}/crystalfaeries.net"/posix ]
		then
		  rm	/media/`whoami`/"${uuid}/crystalfaeries.net"/posix	# clear symlink out of the way
		  mkdir	/media/`whoami`/"${uuid}/crystalfaeries.net"/posix	# ensure directory is present
		fi
		rsync --delete	-auvH	     /usr/local/{.??,}*				\
		/media/`whoami`/"${uuid}/crystalfaeries.net"/posix # backup posix

		# backup with deleting all but audio and some tansients:
		delete -rf /media/`whoami`/"${uuid}/crystalfaeries.net"/galleries
		rsync --delete	-auvH							\
			--exclude=audio							\
			--exclude=fey							\
			--exclude=galleries						\
			--exclude=posix							\
			--exclude=video/security_now/					\
			--exclude=video/flute/flute_fundamentals_hd-wvwrzo2_r_q.mp4	\
			$HOME/crystalfaeries.net/{.??,}*				\
		/media/`whoami`/"${uuid}/crystalfaeries.net"

		# create DIRECTORY TREE both on local hard drive and on each removable backup / library "disk".
		for d in $( cat	$HOME/crystalfaeries.net/audio/.crystalfaeries.dirs.audio.txt )
		do
			mkdir -p	$HOME/crystalfaeries.net/"${d}"	/media/celeste/"${uuid}/crystalfaeries.net"/"${d}"
		done
		
		# backup AUDIO FILES referenced in website:
		for f in $( cat	$HOME/crystalfaeries.net/audio/.crystalfaeries.files.audio.txt )
		do
		#	BACKUP:
		echo   "rsync -auvH $HOME/crystalfaeries.net/${f}	/media/celeste/"${uuid}/crystalfaeries.net"/${f}"
			rsync -auvH $HOME/crystalfaeries.net/"${f}"	/media/celeste/"${uuid}/crystalfaeries.net"/"${f}"
		done
	fi
	rm -rf	/media/`whoami`/"${uuid}/crystalfaeries.net"/audio/audacity	# edits in progress
	find	/media/`whoami`/"${uuid}/crystalfaeries.net" -type f -size 0 -exec rm {} \;
	df --full
	exit	$?
	;;

*)	# None of our business... yet
	echo -n	"last saw as /dev/sdb2: "
	if	$( grep	/dev/sdb2	/etc/mtab > /dev/null 2>&1 )
	then
		echo	"`grep	/dev/sdb2	/etc/mtab`"	# we seem to be mounted already?
	else
		echo	"`ls -FlaR /dev/disk/by-uuid/ | grep sdb2`"	# get the UUID
	fi
	exit	$?
	;;

esac
exit	$?
