crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。而crond正是它的守护进程。每一个用户都可以有一个crontab文件来保存调度信息。
crontab 需要启动一个服务crond才行,crond服务通过crontab命令实现。
crontab在/etc目录下面存在五个目录:
/etc/cron.daily //每天执行一次的job
/etc/cron.weekly //每个星期执行一次的job
/etc/cron.monthly //每月执行一次的job
/etc/cron.hourly //每个小时执行一次的job
/etc/cron.d //是系统自动定期需要做的job
二个文件:
/etc/cron.deny //不允许使用crontab命令的用户列表
/etc/crontab //设定定时任务执行文件
每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名。Linux的cron服务是每隔一分钟去读取一次/var/spool/cron、/etc/crontab、/etc/cron.d下面所有的内容。
crontab命令格式
crontab -l //列出当前用户的定时任务
crontab -e //编辑当前用户的定时任务
crontab -r //删除当前用户的定时任务
crontab文件格式:
* * * * * command
分 时 日 月 星期 命令
//分钟(0-59)
//小时 (0-23)
//日期 (1-31)
//月份 (1-12)
//星期(0-6,其中 0 代表星期日)
举个例子: