After thinking the game was over when I got Amanda to install and run on my Xserve, I came to the brutal realization that I was way off. Once again Apple has changed the way things start up (or may start up, or may be configured to start up...) in OS X and has moved to launchd - this specifically hits those of us used to crontab. Great... yet another scheduler to learn. Anyway, in order to get OS X (10.4.6 as of this writing) to check disks and then run amdump, I spent the whole morning building the following plist files:
(This one runs amcheck and always mails the results to me - net.amanda.amcheck.plist)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.amanda.amcheck</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/amcheck</string>
<string>-a</string>
<string>anywheretechnology</string>
</array>
<key>ServiceDescription</key>
<string>run amcheck to make sure that dumps are properly made</string>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>13</integer>
<key>Minute</key>
<integer>22</integer>
</dict>
<key>UserName</key>
<string>amanda</string>
</dict>
</plist>
After reading some more at afp548.com, I'm not sure I have the ProgramArguments set up correctly in that it may be more correct to have a Program key above it, but this works and I've verified that a dozen times. The only question is whether or not it will work every day...
(this is the script that actually runs amdump every night at 2 am - net.amanda.amdump.plist)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.amanda.amdump</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/amdump</string>
<string>anywheretechnology</string>
</array>
<key>ServiceDescription</key>
<string>run amdump every day at 2 am</string>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>2</integer>
</dict>
<key>UserName</key>
<string>amanda</string>
</dict>
</plist>
So there you have it. Amanda runs happily - still not backing up OS X machines, but at least the others so I can finally put some of that 5TB to use.