Bash Execute Script At Specific Time Without Cron
#!/bin/bash #Set Execution time to 3:15:01 PM TimeToExecute="15:15:01" while true; do #Convert Execution Time to Epoch GoalTime=$(date -d "$TimeToExecute" +"%s") #Get epoch of 12:00:00 AM BaseTime=$(date -d "00:00:00" +"%s") #Get the current epoch CurrentTime=$(date +"%s") #Get the epoch difference between the goal execution time and current time TimeDifference=$(date -d "0 $GoalTime seconds - $CurrentTime seconds" +"%s") #Get the difference between the "TimeDifference" and 12:00:00 AM BaseDifference=$(( $BaseTime -$TimeDifference )) #If BaseDifference is equal to zero then execute script if [[ "$BaseDifference" -eq 0 ]]; then echo "Executing Script- date" /path/to/my/script.sh fi sleep 1 done