The above shell script suggested by statox is of course correct, but it does not take into account the fact the computer may go down in between the two checks, or you may logout, or you may interrupt the ssh session from which you are running the script.
The simplest way to assure yourself against all these events simultaneously is to use the at command to execute forward in time the second check. Thus I suggest the above script be modified as follows:
#!/bin/bash
FILE=/home/Savio/Dsktop/check/sample.txt
if [ -f $FILE ]
then
#Do what you want if file exists
else
at now + 5 hours /home/Savio/ExecutableScript
fi
where /home/Savio/ExecutableScript is an executable script (*chmod 755 ExecutableScript) which checks for the exitence of the file sample.txt, and, if it does not exist, takes suitable actions knowing that the 5h time lapse has expired already.
I understand most people are not familiar with the at now + 5 hours format of at invocation, you may find it detailed here.
The above will survive reboots, logouts, disconnections.
EDIT: the at command is especially useful because it uses your environment, not root's. Also, keep in mind that at uses the standard Bourne shell sh, not the Bourne-again shell bash. Thus, in the she-bang in the file /home/Savio/ExecutableScript, make sure you specify the bash shell explicitly, for it to work as you expect it to.
sleep 5h; yourcommand
.