Tutorials, Development

I was asked today can you run a cronjob only once. My initial answer was no you cannot as the least you can run a cronjob at is yearly. 

But using cron commands you can delete a cron after it's been executed, this way the cronjob runs and then deletes itself causing it to only run once, perfect!

 

Let's say I want to call a script:

somescript.sh

 

Now if I want this command to be deleted as soon as its finished:

First, the command to run, like above. 

Then use crontab -l to open the crontab.

grep -v to search the file ie look for the command. 

Find it with | crontab - to close it out.

 

Putting it all together:

somescript.sh; crontab -l | grep -v 'somescript.sh' | crontab -