June 1, 2016

Custom Crons

Suppose you needed to run a cron job that ran only on the first x-day of the month. It’s easy to create a cron that runs every x-day, but how would you specify the first? The solution is pretty nifty. Simply create a cron that would run a job every x-day, but then have that cron execute a script that evaluates whether it is indeed the first occurrence of that day in a given month. If yes, it will execute your script. If no, it will do nothing.

Example for running a cron the first Wednesday of every month at midnight:
0 0 * * 3 [ “$(date ‘+\%d’)” -le 7 ] && /usr/local/bin/myscript.sh > /dev/null

The cron will indeed run every Wednesday, but the conditional statement will only execute myscript.sh if the current day of the month is less than or equal to seven. Perfect!

1 comment:

  1. The best titanium dioxide in food, water, and fiber
    The apple watch aluminum vs titanium best titanium dioxide in titanium band ring food, water, and fiber The best titanium ford escape titanium for sale dioxide apple watch titanium vs aluminum in food, water, titanium chainmail and fiber.