Unix Crontab - setting up cron jobs using crontab

原创 2008年09月29日 22:04:00

Crontab - Quick reference

Setting up cronjobs in Unix and Solaris

cron is a unix, solaris utility that allows tasks to be automatically run in the
background at regular intervals by the cron daemon. These tasks are often termed as cron jobs in unix , solaris.

Crontab (CRON TABle) is a file which contains the schedule of cron entries to
be run and at specified times.

Following points sum up the crontab
functionality :


Crontab Restrictions

Crontab Commands

Crontab file - syntax

Crontab Example

Crontab Environment

Disable Email

. Generate log file for crontab activity

Next Steps

1. Crontab Restrictions


You can execute crontab if your name appears in the file /usr/lib/cron/cron.allow. If that file does not exist, you can use

crontab if your name does not appear in the file /usr/lib/cron/cron.deny.

If only cron.deny exists and is empty, all users can use crontab. If neither
file exists, only the root user can use crontab. The allow/deny files consist
of one user name per line.

2. Crontab


export EDITOR=vi ;to specify a
editor to open crontab file.

crontab -e     Edit your crontab file, or create one if it
doesn't already exist.

crontab -l      Display your crontab file.

crontab -r      Remove your crontab file.

crontab -v      Display the last time you edited your
crontab file. (This option is only available on a few systems.)


3. Crontab file


syntax :-

A crontab file has five fields for specifying day , date and time  followed
by the command to be run at that interval.

*     *   *   *   
*  command to be executed

-     -    -    -   

|     |     |    
|     |

|     |     |    
|     +----- day of week (0 - 6) (Sunday=0)

|     |     |    
+------- month (1 - 12)

|     |     +--------- day of month
(1 - 31)

|     +----------- hour (0 - 23)

+------------- min (0 - 59)


* in the value field above means all legal values as in braces for that column.

The value column can have a * or a list of elements separated by
commas. An element is either a number in the ranges shown above or two
numbers in the range separated by a hyphen (meaning an inclusive

Note: The specification of days can be made in two fields: month
day and weekday. If both are specified in an entry, they are cumulative
meaning both of the entries will get executed .

4. Crontab


A line in crontab file like below  removes the tmp files from /home/someuser/tmp
each day at 6:30 PM.

30     18    
*     *     *        

rm /home/someuser/tmp/*


Changing the parameter values as below will cause this command to run at
different time schedule below :

min hour day/month month day/week  Execution
30 0 1 1,6,12 * -- 00:30 Hrs 
on 1st of Jan, June & Dec.


0 20 * 10 1-5 --8.00 PM every
weekday (Mon-Fri) only in Oct.


0 0 1,10,15 * * -- midnight on
1st ,10th & 15th of month


5,10 0 10 * 1 -- At
12.05,12.10 every Monday & on 10th of every month

Note : If you inadvertently
enter the crontab command with no argument(s), do not attempt to get out with
Control-d. This removes all entries in your crontab file. Instead, exit with


5. Crontab


cron invokes the command from the user's HOME directory with the shell, (/usr/bin/sh).

cron supplies a default environment for every shell, defining:





Users who desire to have their .profile executed must explicitly do so in the crontab entry or in a script called by the entry.

6. Disable Email


By default cron jobs sends a email to the user account executing the cronjob.
If this is not needed put the following command At the end of the cron job line

>/dev/null 2>&1

7. Generate log file


To collect the cron execution execution log in a file :

30 18  *    *   *    rm
/home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log

8. Next

This  article  covered 
a significant aspect of system administration of setting up cronjobs .
Unix administration involves lots of different tasks and some of these tasks are
covered in this website  but still there are many areas not covered here .

Following books available for online buying from Amazon.com . You
should have following two books in your bookshelf  for ready
reference  if you are involved in Unix system administration  . 

System Administration, Third Edition
by by Æleen Frisch

Operating Environment Boot Camp
by David Rhodes, Dominic Butler

If you already own these books the amazon display panel below shows
some of the best-selling books for System Administration  and you can choose the book here or
visit my other website for more selection of best selling unix system administration books by following this link - .Unix system administration books at besttechbooks.com
,from Amazon.com.

You can show your appreciation by 
buying the books for yourself and encouraging the  friends to buy 
using amazon links below or anywhere at adminschoice.com 
or besttechbooks.com . Thanks
for your appreciation in advance.




之前写了脚本,手动执行可以,使用crontab总是无法运行成功,今天下午花了两个小时实验,完成如下: 注意事项:脚本完成首先手动执行,确定可以正常执行。 在crontab中使用,要注意以下几点: 1....
  • q947817003
  • q947817003
  • 2013年09月12日 17:03
  • 2347


cygwin 下不仅仅是 cron 需要以 windows 服务的方式启动, 消息队列、共享内存以及信号量等进程间通信方式也需要以 windows 服务方式启动 cygse...
  • fuyangchang
  • fuyangchang
  • 2011年02月17日 09:53
  • 3665

Linux定时任务Crontab使用 提示no crontab for root

转载:http://blog.chinaunix.net/uid-7552018-id-182133.html 今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux...
  • qlp3643_1
  • qlp3643_1
  • 2016年05月28日 14:27
  • 17657

no crontab for root 解答

no crontab for root - using an empty one crontab: installing new crontab 解析
  • demon_LL
  • demon_LL
  • 2017年02月09日 14:34
  • 3688

Setting Up Cron Job Using crontab

Setting Up Cron Job Using crontab: Step 1: Open a Terminal Window (Command Line) in Linux. Step 2...
  • wanderman1836
  • wanderman1836
  • 2018年01月21日 21:09
  • 25

cron 开启其日志 log

起因 今天发现一台Ubuntu服务器crontab定时运行scp的备份脚本失败,手动执行脚本没问题,所以想从crontab的日志里找原因,突然发现我的/var/log下没有cron日志,这里...
  • wide288
  • wide288
  • 2013年04月07日 08:55
  • 9960


以下为转贴   Cron 是UNIX, SOLARIS,LINUX下的一个十分有用的工具。通过Cron脚本能使计划任务定期地在系统后台自动运行。这种计划任务在UNIX, SOLARIS, LINU...
  • luanwpp
  • luanwpp
  • 2012年04月23日 18:57
  • 2282


cron——执行计划任务。在一定的时间执行指定的任务。 很显然,它是系统的一个守护进程,不过默认一般是没有开启的。需使用service crond start开启。 但不是直接使用该命令来指定...
  • theonlyguo
  • theonlyguo
  • 2014年11月30日 22:00
  • 545


  • mosesmo1989
  • mosesmo1989
  • 2016年04月08日 11:35
  • 713


  • spring21st
  • spring21st
  • 2016年10月11日 16:18
  • 4772
您举报文章:Unix Crontab - setting up cron jobs using crontab