cron任务分两类:
系统cron: 定义在/etc/crontab
用户cron: 定义在/var/spool/cron目录中,每个用户都有一个与用户名同名的文件,其功能类似于/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
注意:如果定义在cron中的任务是脚本,此脚本中的各命令查找时遵循的是cron的PATH环境变量定义;因此,在命令行中测试无问题的脚本,在cron中未必;
解决方案:
命令使用绝对路径
在脚本中开始自己定义一个专用PATH环境变量
用户cron的每个作业由2部分组成
时间
分钟 小时 日 月 周几