Nested case: rsync command not found

Hello!

Below my first bash script. As you can see i build 2 nested cases. The second one (sync databases) is working fine. Bu the first one (sync datadirs) is not working. It says: rsync: command not found. However when i move the rsync command to the top of the script its working. So i suppose there's something wrong in my script. Can somebody tell me what's wrong?

Regards,
Bas

--- Script ---

#!/bin/bash

LOCAL_PATH=""
LOCAL_DB=""
LOCAL_DB_USER=""
LOCAL_DB_PASSWORD=""

STAGING_SSH_USER=""
STAGING_SSH_HOST=""
STAGING_PATH=""
STAGING_DB=""
STAGING_DB_USER=""
STAGING_DB_PASSWORD=""

LIVE_SSH_USER=""
LIVE_SSH_HOST=""
LIVE_PATH=""
LIVE_DB=""
LIVE_DB_USER=""
LIVE_DB_PASSWORD=""

read -p "What to do?
	(1) Sync datadirs
	(2) Sync database" choice1

case "$choice1" in
	1 )
		read -p "Sync datadirs:
			(1) pull staging -> local
			(2) pull live -> local
			(3) push local -> staging" choice2

		case "$choice2" in
			1 )
				TYPE=pull-datadirs
				ENV="staging"
				SSH_USER=$STAGING_SSH_USER
				SSH_HOST=$STAGING_SSH_HOST
				PATH=$STAGING_PATH
				;;
			2 )
				TYPE=push-datadirs
				ENV="live"
				SSH_USER=$LIVE_SSH_USER
				SSH_HOST=$LIVE_SSH_HOST
				PATH=$LIVE_PATH
				;;
			3 )
				TYPE=push-datadirs
				ENV="staging"
				SSH_USER=$STAGING_SSH_USER
				SSH_HOST=$STAGING_SSH_HOST
				PATH=$STAGING_PATH
				;;
			* )
				echo "invalid"
				exit
				;;
		esac
		;;
	2 )
		read -p "Sync database:
			(1) pull staging -> local
			(2) pull live -> local
			(3) push local -> staging" choice2

		case "$choice2" in
			1 )
				TYPE=pull-database
				ENV="staging"
				SSH_USER=$STAGING_SSH_USER
				SSH_HOST=$STAGING_SSH_HOST
				DB=$STAGING_DB
				DB_USER=$STAGING_DB_USER
				DB_PASSWORD=$STAGING_DB_PASSWORD
				;;
			2 )
				TYPE=pull-database
				ENV="live"
				SSH_USER=$LIVE_SSH_USER
				SSH_HOST=$LIVE_SSH_HOST
				DB=$LIVE_DB
				DB_USER=$LIVE_DB_USER
				DB_PASSWORD=$LIVE_DB_PASSWORD
				;;
			3 )
				TYPE=push-database
				ENV="staging"
				SSH_USER=$STAGING_SSH_USER
				SSH_HOST=$STAGING_SSH_HOST
				DB=$STAGING_DB
				DB_USER=$STAGING_DB_USER
				DB_PASSWORD=$STAGING_DB_PASSWORD
				;;
			* )
				echo "invalid"
				exit
				;;
		esac
		;;
	* )
		echo "invalid"
		exit
		;;
esac

# Pull datadirs
if [ $TYPE == 'pull-datadirs' ] ; then
	echo "Start syncing fileadmin/user_upload and uploads/ from $ENV to local"
	rsync -avzhn --include='fileadmin/' --include='fileadmin/user_upload/***' --include='uploads/***' --exclude='*' --progress --delay-updates --delete --stats $SSH_USER@$SSH_HOST:$PATH $LOCAL_PATH
	echo "Completed!"
fi

# Push datadirs
if [ $TYPE == 'push-datadirs' ] ; then
	echo "Start syncing fileadmin/user_upload and uploads/ from local to $ENV"
	rsync -avzhn --include='fileadmin/' --include='fileadmin/user_upload/***' --include='uploads/***' --exclude='*' --progress --delay-updates --delete --stats $LOCAL_PATH $SSH_USER@$SSH_HOST:$PATH
	echo "Completed!"
fi

DB_FILE=$DB$(date +.%d.%m.%y).sql.gz
DB_FILE_LOCAL=$LOCAL_DB$(date +.%d.%m.%y).sql.gz

# Pull database
if [ $TYPE == 'pull-database' ] ; then
	echo "Make dump from $ENV"
	ssh $SSH_USER@$SSH_HOST "mysqldump --user=$DB_USER --password=$DB_PASSWORD $DB" | gzip > ./$DB_FILE
	echo "Import to local"
	gzip -dc < ./$DB_FILE | mysql --user=$LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB
	echo "Completed!"
fi

# Push database
if [ $TYPE == 'push-database' ] ; then
	echo "Make dump from local"
	mysqldump --user=$LOCAL_DB_USER --password=$LOCAL_DB_PASSWORD $LOCAL_DB > $DB_FILE_LOCAL
	echo "Import to $ENV"
	ssh $SSH_USER@$SSH_HOST "mysql --user=$DB_USER --password=$DB_PASSWORD $DB" < ./$DB_FILE_LOCAL
	echo "Completed!"
fi

Please use code tags as required by forum rules!

You modify the search PATH: PATH=$STAGING_PATH and thereafter rsync is no more found...

---------- Post updated at 12:50 ---------- Previous update was at 12:48 ----------

Usually, you add sth to the PATH like PATH="$PATH:$STAGING_PATH"

Ah of course tnx!