Snippets

Mukund Raj backup.sh

Created by Mukund Raj
#!/bin/bash

# chmod u+x backup.sh

OP_PATH='/Volumes/Seagate Wireless/Seagate Wireless/backups/'

OP_PATH='/Volumes/Public-01/Seagate Wireless/backups/'

echo $OP_PATH


cd /Users/mukundraj/Desktop/work/projects/scripts


echo "Select output base path: 
		1.'New drive'
		2. 'New drive (Wireless)
		3. 'Old drive'"
read pathid
case $pathid in
	1) OP_PATH='/Volumes/Seagate Wireless/Seagate Wireless/backups/'
		DRIVE_ID='D1';;
	2) OP_PATH='/Volumes/Public-01/Seagate Wireless/backups/'
		DRIVE_ID='D1';;
	3) OP_PATH='/Volumes/Expansion D/backups/'	
		DRIVE_ID='D2';;
	*) Wrong Input
		exit 0;;

esac


echo "Starting backup. Full (f) or Incremental (i)?"
read input_variable
case $input_variable in
	f|F) 	echo "Enter Identifier or Date (yyyy-mm-dd):"
			read IDENTIFIER
			
		
			FULL_BACKUP_PATH=$OP_PATH$IDENTIFIER


			
			LATEST=$(cat latest.txt | tail -1 | awk -F $'\t' '{print $1}')

			echo $FULL_BACKUP_PATH
			

			if [ "$LATEST" = "$IDENTIFIER" ]
			then
				echo "Invalid Path. Same as last backup path."
			else
				if [ "$DRIVE_ID" = "D1" ]
				then
					echo -e "$IDENTIFIER\t" $(date) "FULL\t" "$DRIVE_ID">> 'latest.txt' 
				fi
				rsync -avhr --delete --exclude-from 'exclude_list.txt' --files-from='include_list.txt' /  "$FULL_BACKUP_PATH"
			fi;;


	i|I) 

		if [ "$DRIVE_ID" = "D2" ]
		then
			echo "Use Drive 1 for incremental backup."
		else
			LATEST=$(cat latest.txt | tail -1 | awk -F $'\t' '{print $1}')
			FULL_BACKUP_PATH=$OP_PATH$LATEST
			echo -e "$LATEST\t" $(date) "INCR\t" "$DRIVE_ID">> 'latest.txt' 
			rsync -avhr --delete --exclude-from 'exclude_list.txt' --files-from='include_list.txt' / "$FULL_BACKUP_PATH"
			echo "Incremental backup stored in path: "$LATEST
		fi;;

	*) Wrong Input
		exit 0;;
esac

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.