前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >循环执行定时任务crontab

循环执行定时任务crontab

作者头像
用户5521279
发布2019-11-14 17:43:46
1.4K0
发布2019-11-14 17:43:46
举报
文章被收录于专栏:搜狗测试搜狗测试

一、前言

小编最近在将线上服务器实时的请求都转到测试机,但是由于请求量太多导致log不久就写满磁盘了,手动清理费事费力,因此考虑到自动清理,接触到corntab定时任务。分享给各位。

二、crond介绍

在介绍crontab前,我们先了解下crond,因为crontab需要crond服务支持。crond是Linux下用来周期地执行某个任务或等待处理某些事件的一个守护进程。

crond服务操作说明:

启动服务:service crond start

关闭服务:service crond stop

重启服务:service crond restart

重新载入配置:service crond reload

其实,在安装完成操作系统后,默认会安装crond服务工具,并且crond服务默认自动启动,crond进程每分钟定期检查是否可以使用crontab命令。

三、使用者权限管理

接下来介绍crontab命令的权限管理。Crontab是通过etc目录下cron.allow和cron.deny文件来限制用户是否可以使用crontab命令的,具体规则如下:

1、 当系统中只存在/etc/cron.allow文件时,只有写入此文件的用户才可以使用crontab命令,没有写入的用户是不能使用crontab命令的。

2、 当系统中只存在/etc/cron.deny文件时,写入此文件的用户不能使用crontab命令,没有写人的用户可以使用crontab命令。

3、 当两个文件都存在时候,/etc/cron.allow优先级更高,/etc/cron.deny文件会被忽略。

每个用户都可以实现自己的crontab定时任务,只需要执行”crontab -e”命令即可,前提是当前用户不在cron.deny文件中。

四、crontab介绍

crontab命令基本格式如下:

crontab [选项] [file]

注意,这里的 file 指的是命令文件的名字,表示将 file 作为 crontab 的任务列表文件并载入 crontab,若在命令行中未指定文件名,则此命令将接受标准输入(键盘)上键入的命令,并将它们键入 crontab。下图是此命令的常用选项:

其实crontab定时非常简单,只需执行”crontab -e”命令,然后输入要执行的命令即可,不过我们打开的是一个空文件,操作方式和Vim是一样的,只不过文件格式稍微复杂些。空文件的格式如下:

* * * * * 执行的任务

这个文件是通过5个*,确定执行任务的频率的。5个*含义如下图:

当然只用这些还是不够灵活,下图中还有些特殊符号:

当“crontab -e”编辑完成之后,一旦保存退出,那么这个定时任务实际就会写入 /var/spool/cron/ 目录中,每个用户的定时任务用自己的用户名进行区分。而且 crontab 命令只要保存就会生效,只要 crond 服务是启动的。

五、系统的crontab

“crontab -e”是每个用户都可以执行的命令,也就是,不同的用户身份可以执行自己的定时任务。但是有些定时任务需要系统执行,这时就需要编辑 /etc/crontab 这个配置文件。并不是说/etc/crontab配置文件执行是不需要用户身份,而是执行“crontab -e”命令中定时任务时候,此时用户是当前登录的用户。而在修改/etc/crontab时候需要指定执行定时任务的用户。配置系统的定时任务主要用两种方法。

方法一、配置/etc/crontab

/etc/crontab的结构为下图:

添加定任务的结构与上面相似,不过需要指定执行定时任务的用户。在/etc/crontab按照其格式添加定时任务保存即可。当然要确定crond服务是运行的。并且此文件只有root用户才能更改,其他用户是没有权限更改的。

方法二、配置/etc/cron.{daily,weekly,monthly} 目录

将可以执行的脚本,赋予可执行权限,然复制到/etc/cron.{daily,weekly,monthly}目录中的任意一个,比如,想让某个脚本每月执行,将这个脚本copy到/etc/cron.monthly目录下,那么这个脚本就会,每个月执行一次。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、crond介绍
  • 三、使用者权限管理
  • 四、crontab介绍
  • 五、系统的crontab
相关产品与服务
文档服务
文档服务(Document Service,DS)是腾讯云数据万象提供云上文档处理服务,支持多种类型的文件生成图片或 html 格式的预览,可以解决文档内容的页面展示问题,满足 PC、App 等多端的文档在线浏览需求。同时,本产品还提供文本隐私筛查能力,可以有效识别文本中的身份证号、银行卡号、手机号等敏感数据,满足数据可用性和隐私保护的各种要求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档