Linux定时器crontab用法

【Linux】定时任务调度 1、接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如:04:002、使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。3、采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。例如:12pm4、指定命令执行的具体日期,指定格式为month day(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。 阅读详情

初识定时器

在Linux终端通过crontab -e命令,向文件中写入*/1 * * * * /home/ysl/tmp/SendMail.py(crontab表达式),即添加了一项每1分钟执行1次的定时任务。

crontab

表达式格式

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
minute: 区间为 0 – 59
hour: 区间为0 – 23
day-of-month: 区间为0 – 31
month: 区间为1 – 12. 1 是1月. 12是12月
Day-of-week: 区间为0 – 7. 周日可以是0或7
full-path-to-shell-script:shell脚本(要求绝对路径,且目录存在)
* 代表所有可能的值
/{num} 代表间隔周期
1,2,3 代表多选
1-3 代表范围

选项

crontab [ -u user ] -e:修改crontab文件。如果文件不存在会自动创建
crontab [ -u user ] -l:显示crontab文件内容
crontab [ -u user ] -r 删除crontab文件
crontab [ -u user ] -ir:删除crontab文件前提醒用户
crontab file:用$HOME目录下的文件替代目前的crontab。可用于恢复crontab文件

日志文件

位置:/var/log/cron.log
只会记录是否执行了某些计划的脚本,但是具体执行是否正确以及脚本执行过程中的一些信息并不会记录在日志文件中

进程

/etc/init.d/crond start/restart/stop
ps -ef | grep crond

案例

0 11 4 * 1-3 command line
每个月的4号与每个礼拜的礼拜一到礼拜三的早上11点

*/30 [3-5],[17-20] * * * /bin/sh /home/omc/h.sh >/dev/null 2>&1 >> /var/spool/cron/root
每天3-5,17-20每隔30分钟执行一次脚本

0 14 * * 5 date_time=`date +’\%Y-\%m-\%d \%H:\%M:\%S’` && /home/ysl/tmp/SendMail.py >> “/home/ysl/tmp/SendMail-$date_time.log” 2>&1 &
每周五14点执行/home/ysl/tmp/SendMail.py,并将日志输出到/home/ysl/tmp/SendMail-{运行时间}.log文件中。
!!注意:crontab文件中无法理解%的含义,因而需要将%转义。

crontab注意事项

  1. 在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+\%Y\%m\%d’。否则会出现,手动执行脚本OK,crontab死活不执行的情况
  2. crontab执行shell时,不能识别Java的环境变量,只能识别为数不多的环境变量,普通的环境变量是无法识别的,所以在编写shell时,最好使用export重新声明变量,确保脚本执行。引用环境变量时需要,*/1 * * * * source /etc/profile && …
  3. root用户的任务调度操作可以通过“crontab –uroot –e”来设置,也可以将调度任务直接写入/etc/crontab文件,需要注意的是,如果要定义一个定时重启系统的任务,就必须将任务放到/etc/crontab文件,即使在root用户下创建一个定时重启系统的任务也是无效的
  4. 定时任务里面的程序脚本尽量用全路径
  5. 当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题

定时任务分类

Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度

系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。
/etc/crontab文件,这个就是系统任务调度的配置文件。

查询系统定时处理任务的路径:
  路径1:
      cd /etc/logrotate.d/        -->可以写定时任务
      less syslog 
  路径2:
      cat /etc/crontab   -->不推荐使用,但是可以看格式
  路径3:
       ls /etc/ | grep cron*
           anacrontab
           cron.d                 -->同路径2 ,可以写定时任务  
           cron.daily
           cron.deny              -->控制普通用户使用定时任务crontab
           cron.hourly
           cron.monthly
           crontab
           cron.weekly
 

用户任务调度

用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。
用户可以使用 crontab -e来定制自己的计划任务。
用户crontab文件都被保存在/var/spool/cron/目录中。其文件名与用户名一致

周边

通过at命令来控制在指定的时间运行任务
at -f test-cron.sh -v 10:25
其中-f 指定脚本文件, -v 指定运行时间

参考
https://www.cnblogs.com/aminxu/p/5993769.html
https://blog.youkuaiyun.com/weixin_41712499/article/details/99437222
https://www.cnblogs.com/ftl1012/p/crontab.html

【Linux】Linux 系统中,定时任务(计划任务) 定时任务 阅读详情

相关推荐

得利捷datalogic扫码枪调试说明

针对得利捷datalogic扫码枪快速调试并,可以根据详细步骤设置扫码枪,并配有tcp调试助手辅以验证,以达到快速调试完成扫码枪的工作。

Conway510的博客 1万+

crontab 踩坑指南,每小时执行一次 * */1 * * *

正确的命令:0 */1 * * * crontab中的参数意思是: * * * * * command 分 时 天 月 周 命令 当我想让命令每小时执行一次时: 当时输入了:* */1 * * * 结果是每分钟执行。 因为我在分(第一个*)上,没有指定具体的分钟,因此他就默认了每分钟执行一次, 也就是说 :* */1 * * * = */1 * * * * = * * * * * 举例:每天3点1分执行一次 1 3 * * * command ...

u011790603的博客 7435

【Qt笔记】1.VSCode搭建Qt运行环境

Qt6之后已经抛弃qmake,使用cmake。cmake相对qmake来说只有优点没有缺点。使用VSCode搭建完Qt的运行环境就能开开心心debug了.vscode需要使用的插件:2.Qt tools3.CMakec++插件可以不关注,缺啥都会提醒你.正常安装即可。

没有手牌的博客 2万+

crontab表达式和算法

crontab 表达式 语法表达式min hour day month week cmdcrontab表达式描述的是时间集合 */1 * * * * 表示所有的分钟集合(0-59)都会执行crontab表达式各个栏位范围如下: 字段名是否必须允许的值允许的特定字符 分(Minutes) 是0-59* / , - 时(Hours)是0-23* / , - 日(Day of month)/td>是1-3

wida的编程世界 2819

【C++】开源:cpp-httplib HTTP协议库配置与使用

cpp-httplib HTTP协议库配置与使用

DevFrank的博客 5539

【精品5万字图文详解】特征平台建设方案与最佳实践

关键词:特征工程、特征平台、特征存储、特征服务、机器学习、数据工程摘要:本文全面介绍了特征平台的建设方案与最佳实践,从特征工程的基本概念出发,深入剖析了特征平台的核心组件、架构设计和实现方法。文章通过生动的类比和实例,使读者能够轻松理解特征工程的重要性及特征平台如何解决企业在机器学习过程中面临的数据管理挑战。同时,详细探讨了主流开源特征平台的对比分析、系统设计要点、实际落地案例以及未来发展趋势,为企业构建高效特征平台提供了全面的指导和参考。想象一下,小明是一位热爱烹饪的小学生。有一天,他想做一道美味的菜肴送

AI天才研究院 952

@schedule 中 cron 的 0 */1 * * * ? 和 0 0/1 * * * ? 的区别

在使用springboot中,经常会看到@schedule的使用,用于定时刷库或者删除数据 我的jdk版本是1.8,通过测试发现这两个表达式 0 */1 * * * ? 和 0 0/1 * * * ? 是没有区别的,他们的效果是一样的 都是表示每隔1分钟执行一次。看了下源码,发现 setNumberHits的方法,在分钟部分的时候调用 this.setNumberHits...

chenjianhuideyueding的博客 7万+

Android 15.0 系统开机屏幕设置默认横屏显示

在15.0的系统ROM产品定制化开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从 两部分来实现,一部分是系统开机动画横屏显示,另一部分是系统屏幕显示横屏显示,从这两方面就可以做到开机默认横屏显示了

安卓兼职framework和app工程师的博客 716

crond 任务调度 (Linux相关指令:crontab)

接着输入任务到调度文件,如:*/1 * * * * ls –l /etc/ > /tmp/to.txt(意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt 命令,把etc目录下面的内容显示出来打到终端,然后把他重定向到tmp的to.txt文件,如果没有这个文件就会自动创建一个)步骤(1)vim/home/my.sh,写入内容 date>>/home/mycal 和 cal>> /home/mycal。(3)crontab -e,增加 */1 * * * * /home/my.sh。

2301_80299389的博客 1486

解锁VS2022!手把手教你本地部署Deepseek

在 VS2022 中本地部署 Deepseek,我们首先需要确保硬件资源的充足,如高性能的 GPU、大容量内存和高速存储等,这是模型稳定运行的基石。如果生成的摘要能够准确概括原文的核心内容,就表明 Deepseek 模型在文本分析方面的功能正常,部署稳定可靠。这对于开发者来说,能够大大提高开发效率,当遇到一些常见的功能实现时,可以借助 Deepseek 模型快速生成基础代码框架,减少手动编写的工作量。在大语言模型的蓬勃发展的当下,Deepseek 凭借其卓越的性能和创新的技术,已然成为该领域的佼佼者。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1万+

WPS文档中心和文档中台 operate 未授权访问漏洞(CVE-2025-0717)

WPS文档中心和文档中台的/open/v6/api/etcd/operate?key=/config/storage&method=get接口存在未授权访问漏洞,攻击者可通过该漏洞获取AK/SK密钥等信息,这些密钥通常用于系统内部认证和权限控制,泄露后可能导致攻击者进一步修改K8s配置、部署恶意容器或执行远程命令,最终实现对系统的完全控制。

李同學AI安全 902

Linux定时器Crontab用法

要使用crontab定时器工具,必须要启动cron服务: service cron start crontab的语法,以备日后救急。先上张超给力的图: crontab各参数说明: -e : 执行文字编辑器来编辑crontab,内定的文字编辑器是VI -r : 删除目前的crontab -l : 列出目前的crontab(查看专用)

shu_career的专栏 701

以 Joule 驱动的生成式开发:把需求文档直接变成可运行的 SAP 应用

摘要:SAP BTP的AI助手Joule正在改变开发方式,支持从自然语言描述自动生成数据模型、服务、UI及测试代码。在SAP Business Application Studio中,Joule能根据业务需求生成结构化代码,并提供代码补全、重构、解释等功能。开发者需注意避免上传敏感数据,并对AI生成的代码进行人工审核。Joule特别针对ABAP开发进行了优化,提供符合SAP规范的代码建议,帮助迁移遗留系统。此外,它还能快速生成CAP项目原型,但所有AI生成内容都需经过严格测试验证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 340

linux中 crontab 定时器用法

在 Linux 系统中,Cron 是一个用于执行预定任务的实用程序,而 Crontab 则是用于编辑和管理这些定时任务的工具。通过 Cron 和 Crontab,您可以轻松地设置计划任务,让系统定期执行特定的命令或脚本。通过了解 Cron 和 Crontab 的基本用法,您可以轻松地在 Linux 系统中设置和管理定时任务,提高工作效率。这将打开一个文本编辑器,您可以在其中添加新的 Cron 作业。- 移动光标来选择文本,然后 `Alt + 6`(或 `Alt + ^`): 复制选定的文本。

yuguang的博客 1034

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【linux 定时器】crontab 的用法

基本格式 : *  *  *  *  *  command 分  时  日  月  周  命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时0~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /usr/local/etc/r

赖德发的博客 1362

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

linux的crontab命令用法(linux定时器)

crontab -e        打开定时器文件 i                         进行修改文件   每五分钟执行  */5 * * * * 每小时执行     0 * * * * 每天执行        0 0 * * * 每周执行       0 0 * * 0 每月执行        0 0 1 * * 每年执行       0 0 1 1 * 设置好

leggo_xu的专栏 1094

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

system定时任务

本篇博客主要讲:如何创建systemd定时器?以及有关 crontab 和 at 的相关用法

qxiaoran的博客 1287

linux 定时器

linux 定时器 (1)实例 [root@iZ25tti3rxdZ log]# crontab -l */30 * * * * /home/whuang/software/auto_start_tomcat.sh 解说: 每隔30分钟执行,是从整点开始计时,1:30,2:00,2:30,3:00,3:30...... (2)定时器用在什么场合 比如...

weixin_33716154的博客 75

红帽系统管理二 2章节 计划将来的任务

随着systed的强势出现,出现一种新的调度方式:Systemd 定时器。它是一种替代传统的 cron 定时任务的工具,允许在 Linux 系统上按照指定的时间表执行特定的任务。Systemd 定时器的特点和使用方式:单元文件:Systemd 定时器以单元文件的形式存在,通常有两个单元文件:.timer 文件和对应的 .service 文件。.timer 文件定义计时器的行为,.service 文件定义实际要执行的任务。

qq_50666020的博客 164

Linux定时关机后台运行技巧

这个命令会在30分钟后关机,并且即使关闭终端也不会影响命令执行。这会在晚上11点执行关机操作,任务会自动在后台运行。符号实现后台定时关机。在Linux系统中,可以使用。

2501_92085696的博客 579

Linux脚本与定时任务管理实战指南

是一个环境变量,定义了系统查找可执行文件的目录顺序。:所有系统级定时任务统一存放,避免分散在用户 crontab 中。:通过文件权限限制不同服务的配置(如仅 root 可修改)。如果系统在计划执行时间关机,下次启动时会检查并补执行任务。:任务启动前等待 10 分钟(避免系统启动时资源争抢)。不要求精确到分钟的任务(如每日日志轮转)。:匹配文本内容(如日志分析、数据提取)。:匹配文件名(如批量删除、复制文件)。:错误(不同数值代表不同错误类型)。:通用错误(如命令参数错误)。:每单位(如每分钟、每天)。

2301_79758468的博客 1184

linux定时器crontab的使用

在服务器上用crontab定时器定时运行程序的具体操作,以下为使用crontab设定定时任务的操作: (1)要在root用户权限下操作crontab (2)检验服务器上是否有crontab定时任务 在root用户下: 输入 crontab -l 显示都有哪些定时任务 输入 crontab -e 编辑定时任务设置 比如每隔五分钟执行一下某py

贾慧玉的博客 324

crontab安装和用法(定时任务)

Linux定时任务在服务器·运维中必不可少,crontab crontab安装和用法(定时任务)  

m0_37732829的博客 847

linux(ubuntu)中crontab定时器命令详解 以及windows中定时器

crontab 是一个用于创建、编辑和管理用户的定时任务的命令,它可以让用户在指定的时间自动执行指定的命令或脚本。service cron status 查看服务运行状态 service cron start 启动服务 service cron stop 停止服务 service cron restart 重启服务 每次设置完记得重启一下

夜空孤狼啸的博客 3575

linux下定时器crontab的使用

项目开发中经常需要用将某个脚本定时运行从而避免其运行并不会影响到其他程序,下面是简略版。 $ chmod 777 some_script.sh # 保证脚本是可执行的 $ sudo crontab -e # -e参数表示进入编辑器添加所需的定时执行文件 00 22 * * * some_script.sh # 前5个参数是数字:第1个表示分;第2个是小时;第3个是天(月份中的第几天);第4个是月,第5个是天(星期中的第几天)。第6个参数是指定的文件 ======================.

midae的博客 2038
上一篇: Linux上Python3使用smtp发送邮件
下一篇: Java多线程-synchronized
松林羊
博客等级 码龄11年 43粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值