Linux系统crontab默认是开机启动的
[root@localhost ~]# /etc/init.d/crond status
crond (pid 1044) 正在运行...
系统级别的计划任务:
[root@localhost ~]# /etc/cron.
cron.d/ cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/
用户级别的计划任务:
我们看下系统定义的crontab命令格式:
[root@localhost ~]# vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
分 时 日 月 周 用户 执行的命令
取值范围分别为:
【分:0-59】【时:0-23】【日:1-31】【月:1-12】【周:0-6 ( 周日可以用0或7表示 )】
常用命令:
# crontab -e 创建一个计划任务
# crontab -l 显示计划任务
# crontab -r 删除计划任务
下面我们创建一个简单的计划任务:
[root@localhost ~]# crontab -e
21 16 * * * echo `date` > /tmp/date.txt ## 每天16:21分把当前系统时间写入/tmp/date.txt
[root@localhost ~]# cat /tmp/date.txt
Mon Sep 12 16:21:01 CST 2016
1 3 3,6,9 * * /bin/bash /tmp/shell/databkup.sh ## 每月3,6,9 这几天的.03:01分,执行数据库备份脚本
[root@localhost ~]# tail /var/log/cron ## 方式一
[root@localhost ~]# tail -f /var/spool/mail/root ## 方式二