专栏首页搜狗测试教你咋用crontab

教你咋用crontab

crontab定时任务命令

通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

Linux任务调度的工作主要分为两类:

系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存。 个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有更新,这些工作可以由每个用户自行设置。我设置的是每周一到周五定时发送邮件。

系统级任务调度主要完成系统的一些维护操作,用户级任务调度主要完成用户自定义的一些任务,可以将用户级任务调度放到系统级任务调度来完成(不建议这么做),但是反过来却不行,root用户的任务调度操作可以通过”crontab–uroot–e”来设置,也可以将调度任务直接写入/etc/crontab文件,需要注意的是,如果要定义一个定时重启系统的任务,就必须将任务放到/etc/crontab文件,即使在root用户下创建一个定时重启系统的任务也是无效的。

命令格式

crontab [-u user] file crontab [-u user] {-e|-l|-r}

说明: -u user:是指设定指定user的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。如果不指定user,使用crontab就会用在全局root下。 -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。 -r :删除目前的定时服务。 -l :查看目前的定时服务。

时程表基本格式

* * * * * command 分 时 日 月 周 命令

  • 第1列分钟0~59
  • 第2列小时0~23(0表示子夜)
  • 第3列日1~31
  • 第4列月1~12
  • 第5列星期0~7(0和7表示星期天)
  • 第6列是要运行的命令

举例:

脚本位置:/search/odin/mailauto/sele.py 我要设置每周一到周五下午两点执行该脚本,命令如下:

00 14 * * 1-5 python3 /search/odin/mailauto/sele.py

使用命令crontab–e,打开crontab文件,将命令保存。 之后重启crontab服务就生效了,重启命令:

/usr/sbinservicecrond restart

使用实例

实例1:每两个小时重启一次apache

0 */2 * * * /sbin/servicehttpd restart

实例2:每天7:50开启ssh服务

50 7 * * * /sbin/servicesshd start

实例3:每天22:50关闭ssh服务

50 22 * * * /sbin/servicesshd stop

实例4:每月1号和15号检查/home磁盘

0 0 1,15* *fsck/home

实例5:每小时的第一分执行/home/bruce/backup这个文件

1 * * * * /home/bruce/backup

实例6:每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

00 03 * * 1-5 find /home "*.xxx" -mtime+4 -execrm{} ;

实例7:意思是每月的1、11、21、31日是的6:30执行一次ls命令

30 6 */10 * *ls

实例8:每1分钟执行一次command

* * * * * command

实例9:每小时的第3和第15分钟执行

3,15 * * * * command

实例10:在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * * command

实例11:每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2 * * command

实例12:每个星期一的上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1 command

本文分享自微信公众号 - 搜狗测试(SogouQA),作者:挽袖山贼

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 常用Crontab,就问你湿过鞋没?

    前段时间写了一个shell脚本,用来监控线上服务器连接数是否超过阈值,超过阈值后,会自动发短信报警。脚本逻辑主要为:

    用户5521279
  • 循环执行定时任务crontab

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

    用户5521279
  • 风险识别知多少?

    例1:需求阶段,产品未能提供全面的产品需求文档,导致测试设计时场景缺少,无法达到测试设计的预期结果 例2:测试设计时,开发未能提供相关的设计文档,或者文档未能及...

    用户5521279
  • 教你咋用Crontab定时任务

    通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

    软测小生
  • 性能报告之路由器性能benchmark评估

    测试脚本采用High_Performance_Throughput,Pair数量为100,Pair数量被设定在100是因为我们在测试中发现一个现...

    高楼Zee
  • 剑指offer第二版(Java最优解)---实现单例模式(3种)

    单例模式最初的定义出现于《设计模式》(艾迪生维斯理,1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”   另一个常见的定义是:一个类只有...

    葆宁
  • 探索PHP7(一)--性能

    #探索PHP7(一)--性能# ? ##前言## 在2015年12月2号,鸟哥的在开源中国发布的新闻写在 PHP 7 发布之际一些话,小编意识到从8月份发布第一...

    喵了个咪233
  • 美国GAO武器系统安全报告:先进武器装备多存在安全漏洞

    美国政府问责局(GovernmentAccountabilityOffice,GAO)日前发布报告称,美国国防部开发的武器系统都存在安全漏洞,攻击者可以控制这些...

    FB客服
  • 手工测试已死?Python更火?2018测试预测

    2017就在晃晃悠悠中离我们越来越远,软件测试也在2017年中经历了刺激的一年,许多趋势正在形成或者已经形成中。 手工测试会消失么:不会 IT界里面“测试已死,...

    企鹅号小编
  • 软件项目的用户验收测试

     随着当今技术和市场环境的变化,越来越多的企业选择将软件项目外包,同时也有更多成熟的大型软件企业加入到软件项目的承包队伍中。外包的软件项目越来越多,如何对这些外...

    小老鼠

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动