Crontab command to delete itself

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:

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:; crontab -l | grep -v '' | crontab -

Comments (2)

Joe Clark's photo

Or, you can do an at job.

David Carr's photo

Nice, thanks.