Причина в том, что «stat» не видит полного пути «/volume1/surveillance/@Snapshot/». Он просто видит имя файла. Итак, вам нужно изменить сценарий.
#!/bin/sh
DIR=/volume1/surveillance/@Snapshot
LASTFILE=$(cd $DIR && ls *.jpg | tail -1)
# Input file
# How many seconds before file is deemed "older"
OLDTIME=3600
# Get current and file times
CURTIME=$(date +%s)
FILETIME=$(stat $DIR/$LASTFILE -c %Y)
TIMEDIFF=$(expr $CURTIME - $FILETIME)
# Check if file older
if [ $TIMEDIFF -gt $OLDTIME ]; then
echo "No Movement Dectected in Last Hour" ;
exit 1
fi