We use scheduled tasks/cron jobs to perform many important tasks in Windows and linux.
- Moving files between machines
- Making a quick backup of files before they're processed
- Loading data into databases
- Restarting services if necessary
How do you document and manage tasks, to answer questions like these:
- If tasks are interrelated, in what order do they run?
- Are any tasks interfering with the backup window for the machine?
- Where is the job that backs up these files?
We're adding this information to the wiki page for each server, and a separate page for any complicated sequences. But is there a better way?
We try to maintain most batch process on a single server. The jobs are all run though an application call VisualCron on Windows. The descriptions and schedules of the jobs are all self-documenting. More complex processes are further documented on our SharePoint server which hold all other internal IT documentation.
I'm using the same system: all cron jobs are documented in a wiki and linking complex procedures between the server pages. But still is not the optimal.
A similar question in serverfault.com tried to resolve this issue with no success, however the Google Calendar solution is a nice approach, I think is worth a try.
For Windows servers, we use an inexpensive app called the NTS File Mover to keep track of our scheduled jobs. The app processes all the individual tasks in order, records results in the NT Application log, and sends an email if there is a problem. We always know where to look when there is a problem with a scheduled job on our servers!
Generally writing documentation for these features really isn't needed, because if tasks are interrelated I'll throw the whole process into one shell script and cronjob that script.
Usually the header of the script is good enough; something like:
note that the above script isn't actually something I would use, but rather an example