crontab 是用来进行周期性执行指令的命令,精确到分。
crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
Linux下的任务调度分为两类,系统任务调度和用户任务调度。
1、系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。
2、用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。
配置
- SHELL:配置壳程序为bash
- PATH:命令程序查找路径
- MAILTO:crond的任务执行信息将通过电子邮件发送给root用户
*
表示值范围内的任意值,例如:* * * * * [指令]
表示每隔一分钟执行一次,
表示值范围,例如:1,2,3/1 * * * * [指令]
表示每小时的第1、2、3分钟每隔一分钟执行一次-
1-9表示值范围在1到9之内/
1-9/2表示值范围内每次修改量为2
常用命令
crontab [ -u user ] file或者crontab [ -u user ] { -l | -r | -e }
crontab -u user
:设定某个用户的crontab服务crontab [ -u user ] file
:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。crontab [ -u user ] -e
:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。crontab [ -u user ] -l
:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。crontab [ -u user ] -r
:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。service crond start
:启动服务service crond status
:查看crontab服务状态service crond stop
:关闭服务service crond restart
:重启服务service crond reload
:重新载入配置