Linux计划任务cron

xiaoxiao2021-02-28  88

一.关于crond

crond的作用 crond是Linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有 要执行的工作便会自动执行该工作。而Linux任务调度的工作主要分为以下两类:

系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存

个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是 否有新信,这些工作可由每个用户自行设置

服务的启动和停止

cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

命令描述/sbin/service crond start启动/sbin/service crond stop停止/sbin/service crond restart重启服务/sbin/service crond reload重新加载配置

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。

二.关于crontab

crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:

命令描述crontab -l查看当前用户的cron配置crontab -e编辑当前用户的cron配置crontab -r删除当前用户的cron配置crontab -u设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数crontab -u root -lroot查看自己的cron设置crontab -u fred -rroot想删除fred的cron设置crontab -u root -e在编辑cron服务时,编辑的内容有一些格式和约定crontab -l列出当前的crontab任务crontab -d删除当前的crontab任务crontab -e (solaris5.8上面是 crontab -r)编辑一个crontab任务,ctrl_D结束crontab filename以filename做为crontab的任务列表文件并载入

示例 以下是两个cron语句的例子(在 /etc/crontab 文件里)。

12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1 //用来晚间备份 /etc 目录52 5 * * * root /usr/local/src/analog-5.32-lh/analog >> /dev/null 2>&1 //运行Analog程序处理服务器的统计信息

以下是cron语句中的字段与字段说明:

字段123456说明分钟(0-59)小时(2-24)日期(1-31)月份(1-12;或英文缩写Jan、Feb等)周几(0-6,0为周日;或单词缩写Sun、Mon等)用户名(执行命令时以此用户的身份)

第 6 个字段是一个要在适当时间执行的字符串 - 实例:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND #每天早上6点10分 10 6 * * * date #每两个小时 0 */2 * * * date (solaris 5.8似乎不支持此种写法) #晚上11点到早上8点之间每两个小时,早上8点 0 23-7/28 * * * date #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * mon-wed date #1月份日早上4点 0 4 1 jan * date

三.测试代码

启动crond /sbin/service crond start //若提示没有权限可加上sudo

查看当前用户的cron配置并且编辑当前用户的cron配置 crontab -l crontab -e //然后输入以下命令 */1 * * * * ~/run.sh //每隔一分钟向shell发一封邮件

输入crontab -l命令,每隔一分钟输入一次,则会出现以下现象;


结果图:


删除当前用户的cron配置

转载请注明原文地址: https://www.6miu.com/read-52046.html

最新回复(0)