[[email protected] ~]# crontab --help
crontab: invalid option -- ‘-‘
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user‘s crontab) 编辑crontab 工作内容
-l (list user‘s crontab) 查看crontab工作内容
-r (delete user‘s crontab) 删除所有的crontab任务
-i (prompt before deleting user‘s crontab)
-s (selinux context)
默认情况下,任何用户只要不被列入/etc/cron.deny 当中,都可以执行”crontab –e” 去编辑自己的例行性命令了,
代表的意义 |
分钟 |
小时 |
日期 |
月份 |
周 |
数字范围 |
0-59 |
0-23 |
1-31 |
1-12 |
0-7 |
周的数字为0-7时,都代表”星期天”的意思,
辅助字符
特殊字符 |
代表意义 |
*(星号) |
代表任何时刻都接受的意思, |
,(逗号) |
代表分割时段的意思,如果要执行2:00与4:00时, 0 2,4 * * * command 时间参数有五列,第二列就是2,4 代表2:00 与4:00 |
-(减号) |
代表一段时间的范围,例如7点到10点之间的每小时10分钟都进行一次 工作: 10 7-10 * * * command 第二列变成7-10 代表7 8 9 10 |
/n(斜线) |
那个n代表数字,即是每隔n单位间隔的意思,例如每5分钟进行一次, 则: */5 * * * * command 也可以写成0-59/5 意思相同 |
系统任务计划
[[email protected] ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# 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
crontab -e是针对用户的cron来设计的。
基本上cron这个服务的最低检测限制是”分钟”,所以cron每分钟去读取一次/etc/crontab 与/var/spool/cron 里面的数据内容。
标准输出(stout): 代码为1 使用>或>>
标准错误输出(stderr): 代码为2 使用2> 或2>>
黑洞/dev/null
错误输出 2>&1
cron 让计划任务不在屏幕上输出采用 > /dev/null 2>&1
[[email protected] ~]# crontab -l
*/1 * * * * echo "hello" >> /tmp/test.txt
[[email protected] ~]# cat /tmp/test.txt
hello
[[email protected] ~]# cat /tmp/test.txt
hello
hello
让输出到黑洞里面去
[[email protected] ~]# crontab -l
*/1 * * * * echo "hello"
[[email protected] ~]# crontab -l
*/1 * * * * echo "hello" >/dev/null 2>&1 输出到黑洞了
其他的帮助可以查看 man cron 或者man crontab