Tutorials, Development

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

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.

In my spare time, the web development community is a big part of my life. Whether managing online programming groups and blogs or attending a conference, I find keeping involved helps me stay up to date. This is also my chance to give back to the community that helped me get started, a place I am proud to be apart of.

Besides programming I love spending time with friends and family and can often be found together going out catching the latest movie, staying in playing games on the sofa or planning a trip to someplace I’ve never been before.