I mentioned cron in the last post, but I think aside from that brief example, I’ve barely ever written about it.
There’s no real reason for that, except that I don’t use it very often and so as a result I don’t mention it. Hopefully the logic in that is clear. 🙄
It’s not too difficult to set up or understand though, and so the example I gave yesterday makes a good starting point. Here are those lines again.
00 * * * * /usr/bin/python /home/kmandla/.xplanet/download_clouds.py /home/kmandla/.xplanet/clouds_2048.jpg 00 23 * * * /usr/sbin/vbetool dpms off 30 06 * * * /usr/sbin/vbetool dpms on
You can edit crontab by entering crontab -e
(of all things) and your defined $EDITOR will take over.
The gist of cron — for me — is simply this: Those two first numbers are the time you want the action performed, listed in reverse.
So “00 23” is actually 11 p.m., listed minutes first then hour. Every day at 11 p.m., that command is run. And “30 06” is 6:30 a.m.
The “00” without a number, with only a splat next to it, means every hour on the hour. Like I mentioned yesterday, I don’t know exactly when the weather maps are updated, so once an hour is probably enough.
Everything I’ve shown there runs daily, but if I wanted a command run on a particular day of the month, I could list the day number next.
So it should follow that the next column is the month. And the last column? The day of the week, with Sunday as day 0.
That’s the long and short of it. You can tell cron to do whatever, whenever via crontab. After restarting cron for good measure, you should be set. So for one last example:
15 05 * * * 6 /usr/bin/yaourt -Syu
Every week at 5:15 a.m. on Saturday, a system-wide update.
If you need more details or if you have a huge slew of commands you want run at the same time check out the Arch wiki page for cron. Once again, the Arch wiki is the best resource around. …
Actually, I think Ubuntu’s wiki page for cron gives a tad more detail than Arch’s in this case (Though I think Arch’s is clearer to read in some respects).
https://help.ubuntu.com/community/CronHowto
In my opinion, I would recommend `man 5 crontab`, that’s the best source because every cron program may have some differences between them. (I use vixie-cron)
And that’s how I learn about how to get rid of `/usr/bin/foo` or `/home/username/bin/bar`, make them to be just `foo` and `bar`.
PYTHONPATH=”/home/username/lib/python2.5:/usr/local/lib64/python2.6″
PATH=”/home/username/bin:/usr/bin:/bin”
I have these lines before my cron table. Additionally, I have
#Mins Hours Days Months Day of the week
right above cron jobs, tab-separated valued, so I don’t need to double check every I need edit my table.
Pingback: Links 14/2/2011: GNU/Linux Education in Valencia, London Stock Exchange Goes Live With GNU/Linux | Techrights
cron + rsnapshot (rsync) = poor man’s time machine.
That’s how I do my backups, hourly, daily, weekly and monthly.
I like rdiff-backup myself.
I think very few people actively use cron, even if their system uses it for rotating logs etc.