How to check if today is a weekend using bash or even perl?
I want to prevent certain programs to run on a weekend.
I am not really sure if this is suited to this question but I wanted to share this it to help others out and this is the closest Stack question to what I was looking for.
This is a shell script that I use for starting an application when i boot my computer, the application cannot connect to its server over the weekend (its down for maintenance as the service doesn't run at weekends (forex trading application).
Information about this script, d is 1 to 7 (mon to sun) h is 24 time. You can adjust this to your own settings, maybe you have a midweek maintenance or any other cause. This is my first ever shell script, so I'm sure there is a better way and if anybody wants make edits, feel free I will review for acceptance (or somebody else may do it)
#!/bin/bash
d=$(date +%u)
h=$(date +%H)
case $d in
'5')
# Friday after 10pm
if (($h >= 22)) ; then
exit
fi
;;
'6')
# all day saturday
exit
;;
'7')
#sunday before 10pm
if (($h < 22)) ; then
exit
fi
;;
*)
# any other time run the program
;;
esac