Introduction to Cron - Goals
Total Page:16
File Type:pdf, Size:1020Kb
Introduction to cron - Goals • Goals: – Understand how cron works – Understand crontab files – Understand our conventions 1 What is cron? • cron is a Unix daemon program • cron automatically runs programs at given times • cron is different from at, which is a queued batch job facility • We are moving to use cron for batch jobs, as opposed to at 2 Crontab files (Part 1) • Each user on each machine has a crontab file. • So, ecogdev has its own file on each of sid & soltrane, as does ecogdba. • This file consists of lines that look like this: 15 03 * * * /ecog/ecogdev/src/reports/timezone/timezoneauto 15 03 * * 0 /ecog/ecogdev/src/reports/swog_prots/swog_protsauto 30 0 * * * /ecog/ecogdev/bin/ftpschema 3 Crontab Files (Part 2) • Here is one line from a crontab file: 30 0 * * * /ecog/ecogdev/bin/ftpschema • Six fields on this line (* is a wildcard): – 1. Minute of the hour (0-59) – 2. Hour of the day (0-23) – 3. Day of the month (0-31) – 4. Month of the year (1-12) – 5. Day of the week (0-6 with 0=Sunday) – 6. Command line • Quiz: When does this job run? 4 Crontab Files (Part 3) • Here is that crontab line again: 30 0 * * * /ecog/ecogdev/bin/ftpschema • The rightmost field is the command line • Best to use absolute paths, as in this entry • Commands can be executable programs or shell scripts • Put #!/bin/csh at top of C Shell scripts 5 The crontab command • The crontab command allows you to install and edit per-user crontab files. • These are the installed crontab files. • Some options: – crontab -l Display user’s crontab file – crontab -e Edit user’s crontab file – crontab file Install file as crontab file (overwrites previous installed file) 6 Adding a cron Entry • We keep a copy of the installed crontab for ecogdev on sid in ~ecogdev/crontab.sid • This is not the installed crontab file. • Do the following to add a cron entry: 1. crontab -l > crontab.bak - Dump installed crontab 2. diff crontab.bak crontab.sid - Check for differences 3. emacs crontab.sid - Edit crontab file 4. crontab crontab.sid - Install crontab file 7 Caveats • Be sure to make the backup crontab file. • Check your new entry carefully. • Do not make ~ecogdev/crontab.sid executable. • Only install new cron entries on one machine (sid). • Monitor ecogdev’s email for cron messages 8 For More Information • The cron and crontab man pages: – man cron – man crontab 9.