PDA

View Full Version : Scheduled Backups Don't Run


Drdul
08-05-2007, 03:31 AM
For some weird reason, I can't get SD to run any scheduled backups. I can initiate the backups manually, but they won't run at the scheduled times. I've followed the suggestions here (http://www.shirt-pocket.com/forums/showthread.php?t=2254) with no luck. Full details below...

I have one backup set to run daily at 7:30 p.m., and another one weekly on Sundays at 5:30 p.m. My computer is usually on and not asleep at these times. When I first installed SD, it ran the daily scheduled backup for at least a couple of days. I thought it was still running fine, but today when I checked the sparse image files, I saw that SD hasn't run since the last time I manually initiated both backups a couple of weeks ago. When I open the Scheduled Copies window, the log button is grayed out, so I'm assuming there's no log file.

I first rescheduled the daily backup to run in a couple of minutes, and then sat back and waited. When the time came, nothing happened.

Then I ran crontab -l in Terminal, and got this (this is everything from the crontab):

30 17 * * 0 open file:///Users/Richard/Library/Application\%20Support/SuperDuper\%21/Scheduled\%20Copies/Smart\%20Update\%20MacPro\%20Image\%20\%E2\%80\%94 \%20Weekly\%20from\%20MacPro1.sdsp/Copy\%20Job.app
30 19 * * * open file:///Users/Richard/Library/Application\%20Support/SuperDuper\%21/Scheduled\%20Copies/Smart\%20Update\%20MacPro\%20Image\%20\%E2\%80\%94 \%20Daily\%20from\%20MacPro1.sdsp/Copy\%20Job.app

I copied the daily command (from "open" to the end), pasted it into Terminal and pressed Return. Nothing happened.

FWIW, here's what I get when I run sudo launchctl list in Terminal:

com.apple.dashboard.advisory.fetch
com.apple.KernelEventAgent
com.apple.mDNSResponder
com.apple.nibindd
com.apple.periodic-daily
com.apple.periodic-monthly
com.apple.periodic-weekly
com.apple.portmap
com.apple.syslogd
com.apple.usbmuxd
com.vix.cron
org.postfix.master
org.xinetd.xinetd

In case it makes a difference, I set up and scheduled the SD backups from my day-to-day account (called "Richard"), which is not an admin account.

I haven't yet tried the modified version of "One Touch" button thing mentioned in the post referenced above. In any event, it seems like a kludge to work around the issue. I'd prefer to figure out why SD isn't running my scheduled backups and fix the problem within SD. Any suggestions?

Thanks!

dnanian
08-05-2007, 08:20 AM
I can only suggest that your system is damaged in a weird way that's preventing "cron", one of the system scheduling daemons, from running. Usually, an archive-and-install fixes it...

Drdul
08-06-2007, 09:15 PM
Hi Dave:

I'm a Mac noob, so I've been spending some time learning about cron. Interestingly, in the course of bouncing around the 'net looking for cron-related info, I've found several reports of problems with cron not running scheduled jobs. Based on what I've learned, I've got a couple of questions about cron before I get to the specifics of my problem:


I understand that in OS X 10.4, Apple introduced launchd as the preferred way of running scheduled jobs, rather than cron. With the impending release of OS X 10.5, I would assume that there will be even greater emphasis on launchd and less on cron. I'm curious why SD still uses cron, and if there are plans to switch to launchd.
I gather that periodic jobs are a third way of running scheduled jobs, which is what OS X uses for daily, weekly and monthly maintenance tasks. In my case, I want to run one job daily and one job weekly, so the periodic jobs feature is attractive. I realize that periodic jobs are scheduled to run around 3 to 5 a.m., and in my case my computer is asleep at that time, so I use Macaroni to execute the jobs at another time when when the computer is on. I am assuming that if I could add the SD jobs to etc/peridoic, Macaroni could handle them, too. Is there a way for me to add each SD job to the daily and weekly directories in etc/periodic/?

Now, to my problem. Rather than fart around with the problem jobs, I simply deleted them and started from scratch. I had been using an "em" dash () in the name of each disk image and in the name of each settings file, and I noticed that the "em" dash ends up as a bunch of garbled \%xx characters in the crontab listing. Thinking that the "em" dash could be causing a problem, I didn't use any "em" dashes in the new job.

The scheduled job ran fine. To test it out, I also pasted the "open..." command from the crontab listing into Terminal, and it ran fine, too. So cron is obviously working fine on my system, and the problem appears to be solved.

I can only guess that the "em" dash was the problem, as it was immediately after I changed the names of the disk images and settings files to include an "em" dash that the scheduled jobs stopped working. You might want to build a check into SD for disk image names or settings file names that have funky characters like "em" dashes, and advise users to keep to standard characters.

Cheers!

dnanian
08-07-2007, 07:45 AM
I should have seen the unicode characters in your crontab, Drdul: my mistake! Nice job... :)

We use cron because launchd is not available in Panther, and SD! 2.x is 10.3.9 or later. You could probably figure out some way to include SD!'s runs in periodic, but I don't see why that would be an advantage over what it's doing now...