Crontab每一个半小时执行一次脚本写法

前段时间面试的时候,突然被问到一个问题,“在Linux中,如果有一个脚本,需要每隔一个半小时执行一次,应该怎么写?”

一时间没有回答上来,后面回来之后,想了一下才搞明白。

先把所有的执行脚本的执行时间列出来,就明白是怎么回事了。

01:30 03:00
04:30 06:00
07:30 09:00
10:30 12:00
13:30 15:00
16:30 18:00
19:30 21:00
22:30 00:00

把所有的执行时间分成两列,这就容易找到规律了。

整点的时间和整30分的时间跟下面的时间都是相差3个小时

所以需要分成两次来写

1 30 1-23/3 * * * xxxx.sh      #这个对应左边的执行时间
2 0 0-23/3 * * * xxxx.sh       #这个对应右边的执行时间

之前的写法都是一行就搞定了,因为一行就能够完成所需的要求,所以便先入为主的以为,一个任务只能写一行crontab。差点把自己给困住了。

如果一行不能满足需求,可以拆成两行,甚至三行来写,只要找到其中的规律即可。

原文地址:https://www.cnblogs.com/rainights/p/12573197.html

时间: 03-26

Crontab每一个半小时执行一次脚本写法的相关文章

shell if判断(曾经被一个字符串相等的判断纠结半小时,最后只是if后少了个空格!) 和 awk引用外部变量判断

一.if判断 数字: $A=12 $B=15 if(("$A"<"$B")) if(("$A"=="$B")) 字符串: $A="HELLO" $B="WORLD" if [ "$A" = "FACT_LOGIN_USER" ] if [ "$A" = "$B" ] PS:字符串比较的时候注意 'if'

每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作

上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program Files\MongoDB\Server\3.0\bin;.注意:要以;隔开各种变量. 这样的话就可以直接在CMD命令窗口中输入mongo 表示环境变量设置成功,并已经连接到默认数据库test中. 我们可以输入mongod --help来查看相关的帮助信息 C:\Users\zouqi>mongod

半小时入门Angular 2

本文首发于由电子工业出版社出版<揭秘Angular 2>一书,基于第5章概览改写. 作者简介:广发证券互联网金融技术团队,是Angular早期坚定的践行者.作为全新一代的证券业 IT 研发组织,团队致力于用更新更好的技术打造行业方案.支持业务创新. 责编:陈秋歌,寻求报道或者投稿请发邮件至chenqg#csdn.net,或加微信:Rachel_qg. 了解更多前沿技术资讯,获取深度技术文章推荐,请关注CSDN研发频道微博. Angular 2.0 于去年 9 月正式发布. 尽管同一时间里 Re

半小时快速了解redis,基于ubuntu 12.04 + redis 2.8.9

一.什么是redis ? 其官方介绍是: Redis is what is called a key-value store, often referred to as a NoSQL database. Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server sincekeys can contain strings, 

sudo:抱歉,您必须拥有一个终端来执行 sudo 解决办法

问题: zabbix进行自定义监控时,根据情况写了一个脚本,用zabbix_get连接客户端进行测试,报错如下: sudo:抱歉,您必须拥有一个终端来执行 sudo 经查:需要修改visudo进行配置#Default requiretty#注释掉 Default requiretty 一行 继续报错: 没有终端存在,且未指定 askpass visudo 添加: zabbix  ALL=(ALL)   NOPASSWORD: ALL

如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果? &nbsp;

1.命令别名:alias alias:显示当前shell进程所有可用的命令别名 alias NAME="VALUE":命名别名 注意:在命令行中定义的别名,仅对当前shell进程有效,如果想永久有效,要定义配置文件 仅对当前用户:~/.bashrc 对所有有效:/etc/bashrc 2. 使用管道命令 | COMMAND1 | COMMAND2 | COMMAND3 |... 最后一个命令会在当前shell进程的子shell进程中执行: 如何定义一个命令的别名,如何在命令中引用另一个

每篇半小时1天入门MongoDB——4.MongoDB索引介绍及数据库命令操作

准备工作 继续连接到mongo C:\Users\zouqi>mongo MongoDB shell version: 3.0.7 connecting to: test 查看数据库和集合 > show dbs demo 0.078GB local 0.078GB myDatabase 0.078GB myTest 0.078GB > use myTest switched to db myTest > show collections persons system.indexes

Oracle中获取当前时间半小时前的时间

最近项目中有个要根据半个小时前的数据情况判断某一栏位的值,但是一直没想到怎样获取当前时间的半小时前的时间,今天突然想到可以通过sysdate做差来获取,比如sysdate-1这样的,刚开始没有对结果进行细看,以为不可以,后来不经意看了之前的结果发现sysdate-1获得的是当前时间的前一天,也就是说sysdate-n获得的是当前时间n天前的结果,所以就试了sysdate-0.5/24这样就获得了需要的结果.OK大功告成.

自己写的一个自动化测试任务执行工具(模板)

@echo off REM 设置自动执行的最大次数 SET nMaxJobTimes=100 REM 启用变量延迟 setlocal enabledelayedexpansion FOR /L %%i IN (0,1,%nMaxJobTimes%) DO ( cls echo. echo. echo ******************************************** echo. echo 测试任务自动化执行工程 echo 版本:v1.0.0.1 echo. echo ***

RAC安装时需要执行4个脚本及意义

RAC安装时需要执行4个脚本 1) $ORACLE_BASE/oraInventory/orainstRoot.sh (clusterware 结束时执行) 2) $CRS_HOME/root.sh (clusterware 结束时执行) 3) $CRS_HOME/bin/vipca.sh(该脚本是在第二个节点执行$CRS_HOME/root.sh时被自动调用) 4) $ORACLE_HOME/root.sh (安装完数据库以后执行) 1. orainstRoot.sh 脚本 1.1 orain