crond服务和crontab命令

来源:互联网 发布:linux创建db2数据库 编辑:程序博客网 时间:2024/05/29 19:12

**crond服务:**crond是Linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

linux系统调度可分为以下两类:
系统任务调度:
系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件,
也可以用vi /etc/crontab查看,如图:
这里写图片描述
第一行SHELL变量指定了系统要使用哪个shell,这里是bash。
第二行PATH变量指定了系统执行 命令的路径。
第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户。
第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。

用户任务调度:
用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。
让crontab可以生效的服务是crond,通过 service crond status 查看crond服务状态,发现crond正在运行,如图所示
这里写图片描述

如果没有启动则 service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务。

这里写图片描述

这里写图片描述

这里写图片描述
crontab的文件有六个参数,格式为: M H D m d command
例:

每5分钟执行/home/dir/test.sh一次
/5 * * * /home/dir/test.sh