Usually in Linux you use crontab
for this kind of scduled tasks. But you have to specify the time when you "setup the timer" - so if you want it to be configurable in the file itself, you will have to create some mechanism to do that.
But in general, you would use for example:
30 1 * * 5 /path/to/script/script.sh
Would execute the script every Friday at 1:30 (AM) Here:
30
is minutes
1
is hour
next 2 *'s are day of month
and month
(in that order) and 5
is weekday