Chapter 6 - Script 1
#!/bin/sh # # 5/23/2017 # echo "script1 - Linux Scripting Book" while [ true ] do date sleep 1d done echo "End of script1" exit 0
If you run this on your system and wait a few days you will start to see the date slip a little. This is because the sleep
command inserts a delay into the script, it does not mean that it is going to run the script at the same time every day.
Note
The following script shows this problem in a bit more detail. Note that this is an example of what not to do.
Chapter 6 - Script 2
#!/bin/sh # # 5/23/2017 # echo "script2 - Linux Scripting Book" while [ true ] do # Run at 3 am date | grep -q 03:00: rc=$? if [ $rc -eq 0 ] ; then echo "Run commands here." date fi sleep 60 # sleep 60 seconds done echo "End of script2" exit 0
The first thing you will notice is that this script will run until it is either manually terminated with Ctrl + C or the kill
command (or when the machine goes down for whatever reason). It is common for...