Running a command (script, program, et cetera) on a regularly timed interval can be accomplished a few different ways. One way, is to leverage the
utility, which schedules runs to run one or more times per day.
While a fantastic utility,
crontab can be a bit heavy at times, especially if you just need to run something for a finite amount of time.
In those types of scenarios, you can use the
watch command, which works the same way that
crontab does, but right from your command-line.
Let’s say you want to check the contents of a directory every 5 seconds, you can run the following:
Or more concisely:
Once you’re done monitoring things, you can simply hit
watch will cease execution!
To take things a bit further,
watch also has an argument that will tell it to highlight the differences between runs:
# Highlight the differences watch -n 5 --differences ls -al # Also, highlight the differences watch -n 5 -d ls -al # Highlight the differences, persisting the highlight between runs watch -n 5 --differences=permanent ls -al
Good stuff? Want more?
Weekly emails about technology, development, and sometimes sauerkraut.
100% Fresh, Grade A Content, Never Spam.