I just found out about a shell script /etc/daily that mac users recommend running daily or weekly. It supposedly removes old system messages and junk. Does OS X invoke this script automatically every so often or must it be manually invoked? Is it very necessary?

Recommended Answers

All 7 Replies

I'm not sure if I am answering my own question or not, but I just checked the crontab and it shows
/usr/sbin/periodic daily
/usr/sbin/periodic weekly
/usr/sbin/periodic monthly
Are these synonymous with the /etc/daily and /etc/monthly scripts? Thanks!

Hello Dani,

Mac OS X is a *nix, and it has a crontab just like Linux and the rest of them. If you take a look at /etc/crontab, it will show you that these scripts are called regularly.

Here is mine:

yoda:/etc Christian$ cat crontab
# /etc/crontab
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour mday month wday who command
#
#*/5 * * * * root /usr/libexec/atrun
#
# Run daily/weekly/monthly jobs.
15 3 * * * root periodic daily
30 4 * * 6 root periodic weekly
30 5 1 * * root periodic monthly

The order of the colums are:

MINUTE HOUR DAY MONTH WEEKDAY USER "ACTUAL COMMAND"

So, according to my line, I am running the daily at 3:15am (the times are in 24 hour clocks), the weekly runs on a Saturday (1=Mon, 2=Tue, 6=Sat), and the monthly happens on the 1st of the month, at 5:30 in the morning.

Yes, these are just like the familiar /etc/daily and /etc/monthly that you are familiar with.

Honestly, nearly all of the Mac users out there will not be aware of these files, and what they do. Apple has done well keeping things GUI based, but for us intense computer people, the Unix kernel is well... sexy. :)

Great question Dani. Good to see ya.

Christian

Oh poo. You got me all backwards. I come from a linux world TO the mac. Therefore, I am completely familiar with crontab. It is the /etc/daily and /etc/monthly I know nothing about! :) See, here's what happened ...

I was reading up in some mac forum earlier today about /etc/daily and /etc/mothly
I figured I would investigate what these scripts did so I used more/less to view em
I started this thread and posted asking what these files did
They seemed like stuff that would run all the time, so I took a looksie at my crontab to see if they were in there
I saw my crontab contained "periodic daily", etc, so my question was whether this periodic program invoked the scripts that were in /etc/
At this point, I posted my second post in this thread ;)

I saw my crontab contained "periodic daily", etc, so my question was whether this periodic program invoked the scripts that were in /etc/
At this point, I posted my second post in this thread ;)

In the Old Unix World, the machines were left on all the time, and they scheduled cron to run litle cleanup tasks at odd hours, when they reckoned that the users would be in bed or at the pub or somewhere. What these scripts do is rotate your logs, delete the ones that are out of date, update the locate and whatis databases, do some obscure system maintenance, all good stuff.

In the New Unix World, where OS X is in the homes of folk who feel the need to save the planet by turning off their computers whenever they go to the store to buy some milk, the cleanup scripts don't get run as often as they should. This isn't really a problem unless you rely on locate to find stuff, and if you do, you probably update it manually anyway. The logs should be rotated to save space, but in this era of 250 gig drives, that's not much of an issue either.

These are are executable files, you can run:

[~] sudo /etc/weekly

for instance anytime you want, and have that cleanup stuff done for you.

There was a freeware thing called XJanitor that let you do this stuff, but I'm not sure who designed it ... aha, it's the same guy that distributes Brickhouse:
personalpages.tds.net/~brian_hill/macjanitor.html

Warren.

To run the scripts by hand, do:

sudo periodic <script>

Where <script> should be replaced by daily, weekly, monthly, or any combo thereof.. example:

sudo periodic daily weekly

This will run my /etc/daily (and /etc/daily.local) as well as my /etc/weekly (and /etc/weekly.local) scripts..

yes they are. download yourself "anacron", a faceless app that
automates the daily/weekly etc. and runs in idle time.

yes they are. download yourself "anacron", a faceless app that
automates the daily/weekly etc. and runs in idle time.

There's no more need for this if one is running Tiger (or later), as cron has been supplanted by launchd, which operates in a more efficient manner. Launchd will run the appropriate script at the appropriate time available.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.