crontab中如何实现每隔多少天执行一次脚本

crontab中如何实现每隔多少天执行一次脚本

 我来答 

分享

 举报浏览 9698 次

2个回答

#热议# 高考查分的前一秒你的心理状态是什么样的?

c62fc4ccd3cdb2a4c2dcb0fc736b7994a9.jpg奶油菠萝包sky 
来自百度知道认证团队 2018-04-08

1. # 下午6点到早上6点,每隔15分钟执行一次脚本
0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2>&1# 每两小时,重启一次服务* */2 * * * /etc/init.d/apache2 restart

下面是每隔多少分钟,每隔多少小时,每天/每周/每月/每年的crontab的归纳总结

如果说是每个月的每隔10天来执行某个脚本的话,同样可以写成:

?

 

 

但如果是按自然天数,比如说每27天,执行一次脚本,这个要如何实现呢? 如果是这种情况,显然不能通过crontab直接实现,必须迂回实现。

下面是能想到的两种方法。

【方法一】通过脚本控制时间来实现

思路: 

1) 在脚本running.sh中设置要执行的次数,这里假如10次,每次间隔27天,script.sh为要执行的脚本

2) 然后执行nohup bash running.sh &将其放置在后台让其自动执行

95eef01f3a292df5cde8c6fdb7315c6034a8732a.jpg

【方法二】通过crontab间接实现

思路:

1) 每天定时执行running.sh脚本,再在脚本running.sh里面判断,当间隔时间满足条件时

2) 执行script.sh脚本,同时修改上次执行时间,以便于下次执行

d043ad4bd11373f006250577af0f4bfbfbed043b.jpg

  • 每五分钟执行     */5 * * * *

  • 每五小时执行     0 */5 * * *

  • 每天执行         0 0 * * *

  • 每周执行         0 0 * * 0

  • 每月执行         0 0 1 * *

  • 每年执行         0 0 1 1 *

  • 12
  •    
  • # 每个月的1号,11号,21号,31号,执行HTTP服务重启0 0 */10 * * /etc/init.d/apache2 restart
  •    

 1   5

 评论 

分享

 举报收起

b1d59ae4a2e0620254f63f624223377d2e2.jpg

c18b445241474f4f4e524c4307.jpgDRAGOONRL 
来自电脑网络类芝麻团 推荐于2017-11-22

crontab -e之后编辑,
30 21 */2 * * 加上待执行的操作
这个示例是每2天的21:30执行相应的操作
详细看下面的介绍

(转自http://www.jb51.net/LINUXjishu/19905.html

基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定
user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设
定自己的时程表。
参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数
来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执
行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之
后加上 > /dev/null 2>&1 即可
例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
范例
$crontab -l 列出用户目前的crontab.

转载于:https://my.oschina.net/u/3367404/blog/3065858

手机刷双系统 刷机教程(https://www.geekeyes.cn/forum.php/forum.php?mod=viewthread&amp;tid=492) 解锁教程(http://www.gioov.com/index.php/1386)   解锁教程 cmd下 进入adb目录( 如果环境变量配置了adb 可以直接在cmd 下输入命令) 手机连接电脑,确保usb 调试打开,然后手机连接电脑,... 阅读详情

相关推荐

WinCC 7.5 读取 SQL server2016 中的表格数据

环境 win10 SQL Server 2016 WinCC V7.5 SP2 1 安装SQL Server 2016 2 选择服务器名称 .\WINCC 3 建数据库

skr? 7106

nextTick 的原理

nextTick 的原理 JS的运行机制 JS执行是单线程的,他是基于事件循环的 所有同步任务在主线程上执行,形成一个执行栈tick 主线程之外,还有一个‘任务队列’,只要异步任务有了结果(比如settimeout延迟10秒执行,在十秒之后才会放置到任务队列),就在任务队列中放置一个事件 一旦执行栈中的同步任务执行完成,系统会读取‘任务队列’,看看里面有哪些事件,那些对应的异步任务,结束等待状态,进入执行栈 主线程不断的重复执行第三步 任务队列中的任务分为宏任务(macroTask)和微任务(micr

weixin_41881165的博客 1215

crontab实现每隔多少执行一次脚本的两种方法

前言 我们大家在工作中,经常会碰到每隔多少/小时/分钟执行一次脚本,或某个命令的情况。如果是每隔多少小时,多少分运行一次程序,在crontab中可能比较好实现一些,下面是一些示例及crontab的格式说明: 具体示例: # 下午6点到早上6点,每隔15分钟执行一次脚本 0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2>&1 # 每两小时,重启一次服务 * */2 * * * /etc/init.d/apache2 restart 下面是每隔多少分钟,每隔多少小时,每/每周/每月/每年的crontab的归纳总结

shell 定时任务 每隔15执行

目标:从当前时间开始每隔15执行一次脚本 背景: crontab 自带的命令不能满足这个需求。 * * */15 * * 只能在当月内每隔15。 比如:7.1 ,7,15,7.30 后会接着 8.1号执行。 并不能满足每隔15。 分析过程: 1.百度、谷歌了很久。 都是2中方法, 一种是上面的crontab,显然不能满足;另一种是全网统一的shell【看了大家都是复制的,还都是图片,如下这张图】。 2.涉及知识点 shell语法,sed替换文本。 步骤 shell脚本 #! /bin/

qi琪的专栏 3623

crontab8点_crontab 每分钟、每小时、每、每周、每月、每年执行

每分钟执行* * * * *每小时执行 0 * * * *每执行 0 0 * * *每周执行 0 0 * * 0每月执行 0 0 1 * *每年执行 0 0 1 1 *每小时的第3和第15分钟执行3,15****上午8点到11点的第3和第15分钟执行3,158-11***每27执行一次脚本,这个要如何实现呢? 如果是这种情况,显然不能通过crontab直接实现,必须迂回...

weixin_39927848的博客 2391

定时备份文件

root/work我们需要定时自动备份这个目录里面的所有数据。

qq_58196606的博客 1837

java每隔多长时间执行一次_crontab中如何实现每隔多少执行一次脚本

crontab中如何实现每隔多少执行一次脚本我来答分享2个回答奶油菠萝包sky来自百度知道认证团队2018-04-081. # 下午6点到早上6点,每隔15分钟执行一次脚本0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2>&1# 每两小时,重启一次服务* */2 * * * /etc/init...

weixin_39893728的博客 1075

cron 每隔3_crontab中如何实现每隔多少执行一次脚本

每五分钟执行 */5 * * * *每五小时执行 0 */5 * * *每执行 0 0 * * *每周执行 0 0 * * 0每月执行 0 0 1 * *每年执行 0 0 1 1 *如果说是每个月的每隔10执行某个脚本的话,同样可以写成:?12# 每个月的1号,11号,21号,31号,执行HTTP服务重启0 0 ...

weixin_39695241的博客 2856

cron 每隔3_crontab实现每隔多少执行一次脚本的两种方法

前言我们大家在工作中,经常会碰到每隔多少/小时/分钟执行一次脚本,或某个命令的情况。如果是每隔多少小时,多少分运行一次程序,在crontab中可能比较好实现一些,下面是一些示例及crontab的格式说明:具体示例:# 下午6点到早上6点,每隔15分钟执行一次脚本0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2&gt...

weixin_39827034的博客 5889

linux 隔半小时执行脚本,crontab实现每隔多少执行一次脚本的两种方法

前言我们大家在工作中,经常会碰到每隔多少/小时/分钟执行一次脚本,或某个命令的情况。如果是每隔多少小时,多少分运行一次程序,在crontab中可能比较好实现一些,下面是一些示例及crontab的格式说明:具体示例:# 下午6点到早上6点,每隔15分钟执行一次脚本0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2&gt...

weixin_29112009的博客 3360

Crontab 实现指定时间执行一次脚本的两种方法

在工作中,经常会碰到每隔多少/小时/分钟执行一次脚本,或某个命令的情况。如果是每隔多少小时,多少分运行一次程序,在crontab中可能比较好实现一些,下面是一些示例及crontab的格式说明: 示例如下: # 下午6点到早上6点,每隔15分钟执行一次脚本 0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2...

清风扬 9363

crontab的语法规则格式(每分钟、每小时、每、每周、每月、每年定时执行 规则)

crontab的语法规则格式: 代表意义 分钟 小时 日期 月份 周 命令 数字范围 0~59 0~23 1~31 1~12 0~7 需要执行的命令 周的数字为 0 或 7 时,都代表“星期”的意思。 另外,还有一些辅助的字符,大概有下面这些: 特殊字符 代表意义 *(星号) 代表任何时刻都接受的意思。举例来说,范例一内那个日、月、周都是*,就代表着不论何月、...

Peak Xin's Blog 16万+

linux crontab 每7,Linux下计划任务神器-Crontab

作为系统运维人员都清楚,在Linux下定义重复性的任务,我们一般会采用crontab来进行:crontab这个指令所设置的工作将会循环的一直进行下去!可循环的时间为分钟、小时、每日、每月、每周。crontab计划任务:1)常见用法:crontab命令的作用和用法如下:描述:为每个用户维护周期性的计划任务文件用法:crontab [-u 用户][-l|-r|-e]-u 指定某个用户的计划任务(只...

weixin_36027833的博客 2666

Linux- 计划任务crontab命令的使用

crontab命令的使用

qq_44212783的博客 5590

cron定时器表达式

package com.qf.quartz; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Date; @Component public class MyQuartz { //首先通过在配置类注解@EnableScheduling来开启对计划任务的支持, // 然后在要执行计划任务的方法上注解@Sche

weixin_46068827的博客 3363

操作系统重要知识清单:一起来搞懂进程呀!!

相关概念 进程定义 程序:程序就是一个指令序列 引入多道程序技术之后:为了方便操作系统管理,完成各程序并发执行,引入了进程、进程实体的概念。 内存中同时放入多道程序,各个程序的代码、运算数据存放的位置不同。擦欧总系统要怎么才能找到各个程序的存放位置呢? 系统为每个运行的程序配置一个数据结构,称为进程控制块(PCB),用来描述进程的各种信息(如程序代码存放位置) PCB、程序端、数据段三部分构成了进程实体(进程映像)。一般情况下,把进程实体就简称为进程;例如:所谓创建进程,市值上是创建进程实体中的

weixin_39568744的博客 2612

定时任务-cron表达式

cron表达式用于配置cronTrigger的实例。cron表达式实际上是由七个表达式组成。这些表达式之间用空格分隔。 1.Senconds (秒) 2.Minutes (分) 3.Hours(小时) 4.Day-of-Month () 5.Month (月) 6.Day-of-Week (周) 7.Year (年) 例如:“0 0 12 ? * WED” 意思是:每个星期三的中午12点执行 个别子表达式可以包含范围...

qq_30624649的博客 2281

VLC万能媒体播放器 银河麒麟(arm64)版离线安装包(3.0.9.2-1版)

VLC Media Player 是一款可播放大多数格式。可以播放 MPEG-1、MPEG-2、MPEG-4、DivX、DVD/VCD、以及绝大多数网络视频。 VLC多媒体播放器跨平台,支持Linux、Windows、Mac OS X、以及其他常见或非常见的各种操作系统的版本。 VLC与另一个著名播放器Mplayer(使用Gtk+库)不同的是,VLC使用了Qt库来编写Linux的用户操作界面。 VLC支持边下载边播放,支持播放某些没有下载完成的视频文件部份内容。 VLC对程序员非常友好,可以通过编程实现自己的播放器。这是支持银河麒麟操作系统(或其他支持deb包的arm64操作系统)的离线安装包,对于需要内外网隔离的国产化系统非常有用。

上一篇: Mongo的备份和恢复(mongodump 和mongorestore )
下一篇: CentOS find命令
chongke5244
博客等级 码龄9年 24粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值