Setting up "CRON" Jobs in Linux

If you want to use the emacs editor for editing cron jobs, then, set the following in your "/home/user/.bash_profile"

EDITOR=emacs

Then, to edit cron jobs

$ crontab -e

You may want to put in the following header


#MINUTE(0-59) HOUR(0-23) DAYOFMONTH(1-31) MONTHOFYEAR(1-12) DAYOFWEEK(0-6) Note 0=Sun and 7=Sun
#
#14,15 10 * * 0   /usr/bin/somecommmand  >/dev/null 2>&1

The sample "commented out command" will run at 10:14 and 10:15 every Sunday.  There will be no "mail" sent to the user because of the ">/dev/null 2>&1" entry.

$ crontab -l

The above will list all cron jobs. Or if you're root

$ crontab -l -u <username>
$ crontab -e -u <username>

Reference "man 5 crontab":

The time and date fields are:

field                  allowed values
-----                  --------------
minute              0-59
hour                  0-23
day of month     1-31
month               1-12 (or names, see below)
day of week      0-7 (0 or 7 is Sun, or use names)

A field may be an asterisk (*), which always stands for ``first-last''.

Ranges of numbers are allowed.  Ranges are two numbers separated with a hyphen.   The  specified  range is inclusive.  For example, 8-11 for an ``hours'' entry specifies execution at hours 8, 9, 10 and 11.

Lists are allowed.  A list is a set of numbers (or ranges) separated by commas.  Examples: ``1,2,5,9'', ``0-4,8-12''.

Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9".

Note, you can run just every 5 minutes as follows:

*/5 * * * * /etc/mrtg/domrtg  >/dev/null 2>&1

To run jobs hourly,daily,weekly or monthly you can add shell scripts into the
appropriate directory:

/etc/cron.hourly/
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.monthly/

Note that the above are pre-configured schedules set in "/etc/crontab", so if you want, you can change the schedule. Below is my /etc/crontab:

$ cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly



Popular posts from this blog

Shrink you container size up to 95%.

alma linux: dnf Module yaml error: Unexpected key in data