Macaroni 2.0.3 Review

Maintenance Tool for Mac OS X


Matt Willmore Skip to comments 7 Comments (Comments Closed Closed)

Matt Willmore explains what Macaroni is (not the food) and gives his full review of the application. If you are looking for a maintenance tool for Mac OS X, look no further.

macaroni.jpgMy first introduction to the world of cron was like many other introductions - out of necessity. I was at a job whose Cumulus server software was suffering from memory leaks and needed to be rebooted nightly. Instead of scribbling out a Post-It note reminding whoever was there to reboot the software, I set out to learn about this "cron" thing and how I could get it to take care of the rebooting for me. While I did learn how cron itself works, the freeware utility that helped me the most was CronniX. Although slightly unintuitive, CronniX showed me that a usable GUI front end for cron could work. Since then, most of my work with system scheduling was with cron itself - that is, of course, until I saw Macaroni, published by Atomic Bird.

I was excited when Atomic Bird agreed to let me do a review of Macaroni. From everything I had seen on the Web site, and from reviews around the web, Macaroni seemed to be a favorite among everyone who tried it. So, it looks like a solid piece of work, and everyone else seems to like it. Does it hold its ground?

User Interface & Visual Run-Through

It's been said that I'm more picky than most people in some aspects, one of which is the app's user interface. Regardless of what it does, it has to look good to the user. I would be less inclined to use an unattractive car than a good looking one, regardless of each car's performance; the same goes for software interfaces. Apple has done a stand-up job of clear, intuitive interfaces (albeit, with some exceptions), and they have spent a great deal of time researching the subject and publishing their guidelines. Every developer who follows Apple's HIGs (Human Interface Guidelines) is likely to end up with a more defined and logical interface.

Macaroni IconHow does Macaroni match up to this? First off, let's look at its access location (where you find it). Atomic Bird designed Macaroni as a system preference pane, which makes it really easy to find for any user level, from novice ("It's with the other controls in System Prefs"), to the longtime OS 9 user ("Remember the control panels? It's just one of those!"), to the Mac veteran. Building it as a preference pane also brings up another important consideration - no matter what utility you pick to manage your cron jobs, it should be a preference pane. The activities of cron are as tightly integrated into the system as energy management, the firewall and TCP/IP preferences, to name a few. Atomic Bird made a wise decision by making Macaroni a preference pane, and I give them high marks for that.

Full Macaroni LayoutNow that we've gone over its placement, let's look at the interface of Macaroni itself. If you look at the screenshot, you can see that the preference pane is clean and informative from top to bottom. At the top you can immediately see whether or not Macaroni is enabled, and the text is even colored. Enabling or disabling Macaroni is also right there at the top (although you may have to authenticate in the process - not anything Macaroni has control over). I thought the green/red status text looked a little rough - the background is white, not transparent, and the text box is too long for either status.

Moving down the window, we see the list of scheduled jobs. You can see the status, name and last run of each preset job. Clicking on one will display the execution log for that job below the list, and you enable the options to delete the job or run it now. One button conspicuously missing is an "Edit" button that would let you change the settings of the job. You can do so by double clicking on the job, but this might not immediately be evident to a new user. (It should be noted that regardless of whether Macaroni is enabled or not, you can still edit, create, and delete jobs for Macaroni to execute.) You also have the options to revert to the factory defaults (the five jobs you see when you first install Macaroni), to revert to the previously saved state of the crontab, and to save your changes to the crontab. NOTE: you must have the note file created before you try to add to it.

Edit Macaroni JobHere's where the cool stuff starts. Double-click on a job to open the sheet with all the options for editing the job. When we first double-click on a job, we can see the name, status, command and log file at the top. Under that, we have three subsections: Schedule, Schedule Restrictions and Configure. Schedule merely allows us to set when the job goes off - every day, whenever the Mac wakes up, etc. This adds some flexibility over the standard cron app, like the ability to execute on system startup. Schedule Restrictions lets you place limitations on when the job is allowed to run - in Macaroni's case, you can set it to wait for an idle time (lack of keyboard/mouse input) and/or when the Mac is running on battery power. These options are also not available in cron, and can provide another useful way for Mac users to make the jobs more convienent for them. Configuration is a limited panel; in fact, only the job to remove non-English localization files (any folder ending in .lproj) uses the configuration window. This was disappointing, as was Atomic's lack of documentation on how to create your own configurations. It would certainly have limited use, but it'd be nice to see how it's done.

Let's Take It for a Spin

Test a New Job
To test this out for myself, I decided to make a job that would run a command every day. The command would be to duplicate a log file in /var/log. In the command box you have to enter "a" command - either a path to a shell script where you can execute more stuff, or a direct command. In this case, I had a direct command: copy /var/log/mail.log to /var/log/mail.log.bk. I created a new job in Macaroni, entered in the fields and clicked OK. I then saved the setup, ran it, and boom - it was done. What I couldn't find was when the job would run. All of the preinstalled ones had execution times around midnight, so I would assume that hour 0 (midnight) might be an ideal time.

Inner Workings

So how does this work, anyway? My initial thought was that this front end, when changes are saved, overwrote the root crontab file (at /var/etc/crontab). This would take the burden off of Macaroni to run the scripts, maintain daemons, etc. However, it does appear that Macaroni itself controls the executions through a daemon, MacaroniTools. This didn't quite explain to me why the daily/weekly/monthly schedules are in there - cron had been handling them so far, so why change? As it turns out, Macaroni takes responsibility for ALL cron tasks (even the ones cron had been doing before), and comments out the existing lines in the /var/etc/crontab file.

Old CrontabEssentially, Macaroni is acting as crontab, though not on a system level like cron. (If you'll remember back to CronniX, it would actually edit the crontab files after you saved the job; here, the jobs are executed by Macaroni (and/or MacaroniTools). My initial thought of this idea was hesitant, as one app gone bad could cause bigger problems if it were to go down. Cron, on the other hand, is a simple system utility from BSD known for its solid past and powerful (if confusing) scheduling abilities. In all, it's an interesting angle to take on scheduling tasks for your machine - while it departs from using cron, it does offer additional benefits and flexibility that cron just doesn't offer.

Final Thoughts

For someone who has only used cron when necessary and never just to see what it does, Macaroni may not be that exciting on the surface. Look at its real value, however, and you begin to see what it can be used for, and maybe even how it can save you time by automating things you do on your Mac anyway. Many professionals now swear by Macaroni for its stability and flexibilty, and this review has shown me why they recommend it so highly. Despite the "totally bybass cron" mantra that this application uses, the product is not unworthy of the meager $8.99 regsitration fee.

Macaroni
Price: $8.99
Website: http://www.atomicbird.com/

Should you buy it? Yes. Do you need it? Maybe. Will it help you out? Most definitely.

Matt WillmoreMatt Willmore is a founding partner of MacZealots.com. Matt is also a Resident Assistant at Owen Hall and does Mac support at ECN, and is active in PUMUG. He can be reached at .

Reader Comments (7)

DISCLAIMER: The views expressed below are those of their authors and not necessarily endorsed or supported by MacZealots.com. In all cases, the comments provided here are offered as a courtesy and will be moderated. Any content deemed off-topic or offensive will be removed without notice. Posting a comment here boils down to two things: 1.) Think before you type 2.) Respect the thoughts of others. See our commenting guidelines and/or privacy policy for more information.

1 Mike remarks:
#1) On March 5, 2004 10:01 AM

I am just curious to know if this would take the place of a program like MacJanitor to run the unix maintenance stuff at a different time of day, allowing me to shut off my mac at night. My guess is yes, but I am not sure.

2 Tom Harrington remarks:
#2) On March 5, 2004 2:44 PM

Mike,

I’m Macaroni’s author. The chief difference between Macaroni and utilities like MacJanitor is automation. It does its work automatically, following its schedule as closely as your Mac usage permits. It notices if a maintenance job is overdue (say because your Mac was off) and makes sure to catch up at the first opportunity. In the current version you can’t tell Macaroni the exact time a job should be run— rather, it waits for the first chance it gets on the scheduled day, subject to schedule restrictions described in the review.

If you have any other questions, please either email me or visit our web site at http://www.atomicbird.com/

3 Tom Harrington remarks:
#3) On March 5, 2004 2:55 PM

I just wanted to add a couple of things to Matt’s review.

First, the lack of an “edit” button. Yeah, I know. The thing about making Macaroni part of System Preferences is that it really restricts the amount of space you have for things like buttons. That’s why I went with the double-click-to-edit scheme, a simple matter of window real estate. You may notice in the first screenshot the message “double-click a scheduled job to edit”.

Next, creating your own jobs with configuration options in the config panel. This is coming. It’s not available in the current version because this feature is still rather new to Macaroni and is still somewhat in flux. There were some internal changes to this in the upgrade from version 2.0.1 to 2.0.2. The only reason it’s not documented and easy to do now is that I don’t want someone creating a job like this and having a future update of Macaroni break it. I want users to be able to do this even more than Matt does, and in a future update they will be able to do so.

Finally— relations with cron. What Macaroni does when installed is stop cron from running regular Unix daily, weekly, and monthly maintenance. The rationale is simply that Macaroni’s now taking care of those, so there’s no need for cron to handle them any more. Macaroni doesn’t stop you using cron for other things if you want. And, the Macaroni unsinstaller (should you use it) restores the three Unix-style jobs to the system crontab.

4 Richard remarks:
#4) On March 7, 2004 12:08 AM

Most people do not think of Macaroni as “doing” anything, but it is one of the best, most useful utilities for the Mac I have encountered. It does its thing without interfering with your use of the computer and does not require you to keep up with it.

This is what Apple should have done.

Thanks for a GREAT application!

5 Melangell remarks:
#5) On March 7, 2004 8:49 PM

So… Macaroni would be a good thing for someone who is not so Unix proficient to own in order to ensure all of the normal Unix house cleaning chores are done when possible since consumer machines are oft asleep, off, etc?I’m asking this already thinking that I know the answer and having paid

Tom H. the $9.. :-)

6 Matt Willmore remarks:
#6) On March 7, 2004 9:21 PM

Melangell: very much so. Unlike cron, which will only execute when the item’s clock time comes up, Macaroni will check to see if it executed, and if not, will execute it then. How cool is that? :)

7 Mathew Lu remarks:
#7) On July 13, 2004 10:47 AM

How does this compare to anacron? It seems to have similar functionality (running cron jobs at the next available opportunity if the scheduled time was missed). It apparently doesn’t have all the customization, etc., but it seems like you can just turn it on and forget it.

See: http://www.alastairs-place.net/anacron.html