MacAT

MacAT v7.0

The once leading, automated task scheduling application for Macintosh server administrators

MacAT Overview

MacAT is a Windows AT/UNIX cron-like task scheduling application for Macintosh server administrators. It is a fat binary application that allows 37 of the most common MacOS tasks to be run once, hourly, daily, weekly, fortnightly, monthly or yearly without user intervention. 
  
 

These scheduled tasks include:

  • Launching Applications, Files and AppleScripts
  • Quitting individual applications or alternatively quitting all currently running processes
  • Rename and Delete any File or Folder
  • Mount remote AppleShare volumes automatically over AppleTalk (eg NT, MacOS, UNIX EtherShare, Linux Netatalk AppleShare Volumes)
  • Copy Files or Folders to any mounted AppleTalk volume
  • Unmount nominated AppleShare volumes or floppies/cdrom's.
  • Restart or shutdown the Macintosh

 Clicking on the "Next Task" description selects that task in the list.

MacAT needs to running with an open 'crontab' file at all times.

Each MacAT task result is automatically logged in the MacAT file and the number of logs per task can be set by the administrator.

MacAT could easily be used as a useful component of any MacOS server backup system (MacAT came about due to my own simple requirement that our MacOS servers were backed up nightly).


  
  

 

Clicking on the table column headers in each task panel sorts the information (eg Status, Date, Result).

  

Notes:

This is a full working version of MacAT. Registration removes the shareware reminders. You are welcome to pass this software onto others (MacAT will revert to an unregistered copy) but please don't pass on the registration number.

Only one MacAT file can be opened at once. MacAT task files are saved automatically (like FileMaker Databases). This decision was taken so that as each task is performed, the results are recorded and saved. The number of logs for each AT task can be adjusted in the preferences window by the server administrator. The log information can be very useful if you have complex batches of tasks that aren't giving you the results you need.

Only one AT task can run at any one time but several AT jobs can be scheduled to run in the same minute. Where possible allow plenty of time for each task to complete (eg allow 2-3 mins between AT tasks).

Most buttons in dialog windows can be selected from the keyboard (holding down the command key will cause the button to reveal the required key). In a similar fashion, the tab-panel log screens can also be navigated using the keyboard (simply press 1, 2 or 3) 
  
 

 

Tasks that quit MacAT, Restart or Shut Down the Macintosh are logged before the task is performed and worded as if the command executed successful. If the task subsequently fails then another log is recorded, describing the failure.

Caution. Task that refer to aliases always refer to the real file or folder that the alias points to.







Launch Application

Any Macintosh application can be scheduled to run. 
  
 

Quit Application

Requires the application to respond to the "quit" AppleEvent. As a required AppleEvent, almost every System 7 application should work. Use this command if you want to quit MacAT (the result will be logged). 
  
 

Quit All Applications

MacAT sends the 'quit" AppleEvent to all open applications, including faceless background processes, (but excluding "File Sharing Extension"). Most faceless background MacOS components will start back up again automatically. MacAT will not attempt to quit the "Finder" or "MacAT". 
  
 

Open File

Any Macintosh file, application or AppleScript cab be scheduled to run. Identical to "Launch Application". 
  
 

Copy File

Copying files between AppleTalk File server volumes can take a while so allow plenty of time for this command to complete (eg 10 minutes before the next AT task is scheduled to run). This task will not replace an existing file. Consider scheduling a delete or rename task before copying/replacing). 
  
 

Rename File

Any Macintosh file, application or AppleScript can be renamed. Files are renamed in place (ie in the same folder). To move a file consider scheduling an AT copy task followed by an AT rename task. 
  
 

Delete File

Any Macintosh file, application or AppleScript can be deleted. No warning is given and the task can not be undone. Caution. Deleting an alias deletes the original. 
  
 

Move Folder
The destination folder must reside on the same volume as the original file.

Move Folder to Trash
Moves any folder to the trash. This is an alternative "Delete Folder" task if followed by an Empty Trash task.

Copy Folder

Copying folders between AppleTalk File server volumes can take a while so allow plenty of time for this command to complete (eg 10 minutes before the next AT task is scheduled to run). All files and sub-folders are also copied. Aliases are not followed. This task will not replace an existing folder. Consider scheduling a delete or rename task before copying/replacing) 
  
 

Rename Folder

Folders are renamed in place (ie in the same parent folder). To move a folder consider scheduling an AT copy task followed by an AT rename task. 
  
 

Delete Folder

Any folder can be deleted even if it is not empty. All files and sub-folders are also deleted. Use at your own peril. Caution. Deleting an alias of a folder deletes the original folder (and all the original folders contents). 
  
 

Mount Volume

You need to mount the volume on the desktop before MacAT allows you to add the user name and password information. The AppleTalk Zone server information is calculated automatically. The mount volume command use AppleTalk and works over LocalTalk, Ethernet and ARA connections. Mounting an AppleTalk volume is slow (and modal), so allow MacAT a couple of minutes to mount the volume before the next MacAT task is scheduled. 
  
 

Put Away Volume

You can put away every volume except the Boot Volume. 
  
 

Restart Computer

This command will fail if other applications require user input (eg Save, Don't Save dialog windows) 
  
 Empty Trash
Make sure that the "Warn before emptying" check box is not selected in the Get Info window of the Trash, otherwise the Trash will not be emptied.

Shut Down Computer

This command will fail if other applications require user input (eg Save, Don't Save dialog windows) 
  
 

Send eMail
Use this command to automate sending regular eMail messages (eg monthly pay slip reminders). This task requires a valid: eMail address; return eMail address and SMTP server IP. Strict validation of the entered eMail addresses is not attempted. The TCP/IP subsystem must already be active otherwise this task will return an error (ie A PPP connection will not be automatically instantiated - the link must already be in place). Over a 28k modem PPP or ARA link, expect to take 2-5 seconds to send an eMail. On a permanent ethernet the smtp process should take less than 1 second to complete. This task is really for Macintosh computers with a permanent network connection.

Brief explanation of the SMTP features:
The To: field holds the email address of who you are sending the mail to. You may separate multiple email addresses with commas. The From: field is used to tell the SMTP server what your ID is, and it sets the From: header. It MUST be in the form userid@host
The SMTP server is the server you wish to relay the mail through, probably your ISP's mail server. This can either be in the form of an IP address or a valid DNS name (eg hostname.domain).

Set
A set is a uniquely named collection of tasks that are processed sequentially. You must have already created the task for it to be added to the set. You cannot added sets to other sets. You can rename the set at a later date. There is a 60 second pause between processing tasks in a set (to allow the Finder time to catch up). Once a set starts, no other task will run until the set is finished. A set cannot be stopped once started. The time taken for the set to complete is logged. If as Set fails, email notification can be sent as per normal. Tasks that are part of a set are not run except as part of the Set.

Thoughts for Future Versions:
Mount AppleShare volumes over IP.
Open multiple MacAT files at once.
Replace File and Folder tasks.
Smaller RAM and disk space requirements.
Background faceless application engine while keeping the standard MacAT task-builder interface.
"Open With" task.
Add transparency to RB and MacAT pictures
Half-baked Windows 95/NT port.

Dr Gerard Hammond
MacSOS, Australia, 2005.

 

Copyright
MacAT is © MacSOS, Australia, 1999.
MacAT was written in the brilliant REALbasic available from http://www.realsoftware.com/
Portions of this code are licensed from Core Development Group. 
Portions of this code were written by Seth Dillingham © 1998 Macrobyte Resources.
Portions of this code are © Brian Jones, 1997, 1998.
Portions of this code are © Olivier Robert, 1998-99.
Portions of this code are © Matthias Kahlert, 1998.
Portions of this code are © Frederic Rinaldi and are used with permission.
FullRemove, © Frederic Rinaldi, 1989-2000
FullStuff, © Frederic Rinaldi, 1989-2000
CopyFolder, © Frederic Rinaldi, 1989-2000
FileCopy, © Frederic Rinaldi, 1989-2000
FullSort, © Frederic Rinaldi, 1989-2000
FullBalloons, © Frederic Rinaldi, 1989-2000
CreateAlias, © Frederic Rinaldi, 1989-2000
Mount Volume, © Frederic Rinaldi, 1989-2000
Portions of this code are © Purple E Software, 1998.

Carbon Declaration Library 1.5, by Jarvis Badgley, Kevin Ballard, pantarei , Eric Harris-Braun , Mike Bailey 
Monkeybread Software PluginEmail. http://www.monkeybreadsoftware.de

History
v1.0 
Released Jan. 1999.

History for version 1 though 6.1

v6.2
Released 2 July 2002.
-Columns are now user-resizeable (but this isn't yet retained between sessions).
-Added Preferences Menu command key ";" under MacOS X.
-Adjusted the layout for the tasks in a Set for the new MacOS X Guidelines.
-Added a MacOS X up/down widget to the "Edit MacAT Task" dialog.
-Work around added for "Launch Application under MacOS X. Everything is now displayed.
-Added horizontal scrollbar to "MacAT Log" listbox.
-Compiled with REALbasic 4.5fc4.

v6.4
Released 17 December 2002.
-Fixed Year bug with "Once" Tasks.
-Stopped Memory leak when resizing listbox columns. 
-Task On/Off button code tweaked.
-Removed all Balloon Help text as it was causing crsahes under MacOS X 10.2
-Fixed the bug for new weekly tasks where a run that was set to start later that day was skipped.
.The Next job is rescanned after a task is edited.
-New files offer ".mat" extension is save dialog box.
-Implemented "Mount AppleShare IP" task under carbon.
-Slightly enlarged Preferences Window.
-Removed the Edit AT Task groupbox control.
-Reinstalled FolderCopy3.4 XCMD by Rinaldi (on PPC systems) as the REALbasic .CopyFileTo method appears to be fragile with deeply nested folders. On Carbon systems the XCMD copy folder mechanism is not available (See Prefs Window). 
-Added extra check to recursive FolderCopy to ensure that the destination folder is writeable before a copy takes place.
-Slightly better visual feedback ocurs during recursive FolderCopy routine.
-The total time taken to copy the folder is now recorded in the logs.
-Re-worded the progress dialog to say "Copying" not "Deleting". This was a text bug only; the source file was not being actually being deleted.
- Reinstalled Seth's Plugin code to fix Bring App to Front task. The in-line declare code just wasn't working under Classic MacOS.
-Switched to MonkeyBreadSoftware plugin instead of Einhugur for Processes and InternetConfig.
-Compiled with REALbasic 4.5.3fc2

v6.5
Released 25 March 2003.
- Removed the "UsesCoreTypeClasses" call from app.open. This removes the final Einhugur plugins code completely.
- Added "CPU Temperature", "OS Version", "OS Name", "CPU architecture" to MacAT email vocabulary.  
-Fixed bug with Preference item "Disable Vocabulary" not being read correctly which was introduced in 6.4
-Carbon now uses MBSProcess.QuitProcess instead of the more draconian MBSProcess.KillProcess.
-Mount AppleShare Via IP works more reliably as it now attempts to mount via applescript if the MountMBS plugin fails.
-"Put Away Volume" is now enabled under Carbon.
-Removed the last non-carbon plugin (Processes Plugin Fat)
-Shell command now displays user readable error messages.
-Re-editing the shell command is now possible.
-Upgraded to 2003 MBS plugin (v3.1)
-CompressFile, BinHex file, CompressFolder and UncompressFile are now available under Carbon.
-New Filemaker tasks (Run script and Close Database) can now be configured under Carbon.
-Tasklistbox now sortable.
-Compiled with REALbasic 4.5.3fc2

v6.5.1
Released 4 April 2003.
- Fix for REALbasic bug not including some XCMDs in the PPC build.
- Some modifications of the scheduling code.
- Debug mode now displays next task run time in ISO8601 format (See Preferences Dialog to toggle Debug mode)
- ReadMe document is now HTML.

v6.6
Released 9 May 2003.
- Multiple Weekly, Monthly and Yearly tasks are now scheduled more reliably
- Removed version number from MacAT name

v6.7
Released 25 August 2003
- Fixed bug with Hourly tasks forgetting to re-schedule
- Tweak Sleep and Shutdown comands for new OS X syntax
- Added FileMkaer Pro version 7 Support
- Default Font changed to System, sized 10
- Happy Birthday to me!

v7
Released 26 September 2005
- Added FileMaker 8 Support


 

MacSOS 
Software License Agreement

MacATª is Copyright ©1999-2019 by MacSOS.     MacSOS grants a free 30 day license for use of this software (MacAT), starting from the date of receipt, after which time said software must be registered with MacSOS with appropriate compensation and registration forms.  Under no circumstances may the software be used beyond the free 30 day licensing period unless the previously stated conditions have been satisfied.  You must purchase a separate copy of the software for each computer it is used on.     Unless explicitly stated in writing, MacSOS does not grant permission to distribute the software for profit in any form, including but not limited to, electronic information service distribution, bulletin board distribution, and magnetic or optical medium distribution.  Non-profit distribution of the software is acceptable without prior written notice, providing that the software is not modified in any way, and the complete works of the software are included in the distribution package.     MacSOS is not responsible for any damage to the purchaser's computer system or data and in no event will MacSOS, its officers, directors, employees or agents be responsible to the purchaser for any consequential, incidental, or indirect damages (including damages for loss of business profits, business interruption, loss of business information and the like) arising out of the use or inability to use the MacSOS product, even if MacSOS has been advised of the possibility of such damages.     If you have any question concerning the above license, please do not use this software.

support @ macsos.com.au

© Dr Gerard Hammond  PhD Thesis