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:

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 -

David Carr

For the past 12 years, I've been developing applications for the web using mostly PHP. I do this for a living and love what I do as every day there is something new and exciting to learn.

Write your comment…

Or, you can do an at job.

en.wikipedia.org/wiki/At_(command)

Nice, thanks.

Reply to this…