java30秒规则_每30秒运行一次cron
如果您使用SystemD运行最近的Linux操作系统,您可以使用SystemD Timer单元以您希望的任何粒度级别(理论上低至纳秒)运行您的脚本,并且 - 如果您愿意 - 比Cron允许的更灵活的启动规则 . No sleep kludges required
设置比cron文件中的单行要多一些,但如果你需要比“每分钟”更好的东西,那么值得付出努力 .
该SystemD计时器模型基本上是这样的 - 计时器是在计时器过去时启动服务单元的单元 .
因此,对于要安排的每个脚本/命令,您必须具有服务单元,然后是其他计时器单元 . 单个计时器单元可以包含多个计划,因此您通常不需要多个计时器和一个服务 .
这是一个每10秒记录一次“Hello World”的简单示例:
/etc/systemd/system/helloworld.service :
[Unit]
Description=Say Hello
[Service]
ExecStart=/usr/bin/logger -i Hello World
/etc/systemd/system/helloworld.timer :
[Unit]
Description=Say Hello every 10 seconds
[Timer]
OnBootSec=10
OnUnitActiveSec=10
AccuracySec=1ms
[Install]
WantedBy=timers.target
设置这些单元后(如 /etc/systemd/system ,如上所述,对于系统范围的设置,或在 ~/.config/systemd/user 进行用户特定设置),您需要通过运行 systemctl enable helloworld.timer 来启用计时器(不是服务) . 如果要立即启动计时器(而不是在重新启动后等待它启动),也要运行 systemctl start helloworld.timer .
此处使用的 [Timer] 部分字段如下:
OnBootSec - 每次启动后多秒启动服务 .
OnUnitActiveSec - 在上次启动服务后的几秒钟内启动服务 . 这就是导致计时器重复并且表现得像cron作业的原因 .
AccuracySec - 设置计时器的准确性 . 定时器仅与此字段集一样准确,默认值为1分钟(模拟cron) . 不要求最佳精度的主要原因是提高功耗 - 如果SystemD可以安排下一次运行与其他事件一致,则需要更少地唤醒CPU . 上面示例中的 1ms 并不理想 - 我通常在我的子分钟预定作业中将精度设置为 1 (1秒),但这意味着如果您查看显示"Hello World"消息的日志,那么'd see that it is often late by 1 second. If you'就可以了,我建议将精度设置为1秒或更长 .
您可能已经注意到,此计时器不会在每个挂钟时段的开始处开始(即,它不会在时钟的第10秒开始,然后是20,依此类推) . 相反,只是在计时器瘫痪时发生 . 如果系统在12:05:37启动,则下次命令运行时间为12:05:47,然后是12:05:57等 . 如果您对实际挂钟精度感兴趣,那么您可以想要替换 OnBootSec 和 OnUnitActiveSec 字段,而是使用您想要的计划设置 OnCalendar 规则(根据我的理解,使用日历格式不能超过1秒) . 上面的例子也可以写成:
OnCalendar=*-*-* *:*:00,10,20,30,40,50
最后注意:正如您可能猜到的那样, helloworld.timer 单元启动 helloworld.service 单元,因为它们具有相同的名称(减去单元类型后缀) . 这是默认设置,但您可以通过为 [Timer] 部分设置 Unit 字段来覆盖它 .
更多血腥细节可在以下网址找到:
java30秒规则_每30秒运行一次cron相关推荐
- android 延迟2秒执行_每天30秒让你更懂汽车(10自动变速器2执行装置)
本篇内容 848字,阅读时长约 55 秒 执行装置包括换挡离合器.换挡制动器和单向离合器等. 控制装置根据汽车不同行驶条件,分别在执行装置中建立或卸除油压, 从而得到自动变速器的不同挡位. 1.换挡离 ...
- python unique函数_每30秒学会一个Python小技巧,GitHub星数4600+
作者 | xiaoyu,数据爱好者来源 | Python数据科学(ID:PyDataScience)很多学习Python的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经 ...
- 30秒Python轻松入门-目录
我之前写过几本Python.C.C++的编程图书,通过趣味游戏开发.互动艺术学编程: 然而,即使对于比较容易学的Python,还是有读者反馈说编程太难了. 基于此,给自己挖一个坑,准备出一套更容易上手 ...
- 开机启动win7,自动启动突出显示的选择之前的秒数有30秒
遇到问题:重装了系统,win7开机,会"显示自动启动突出显示的选择之前的秒数有30秒":这时候的30秒显得时间太长,一般都不会愿意等. 解决问题:一开始还以为是bios里面修改设置 ...
- cron 每两周执行_如何每两周/月/天执行一次cron作业
cron 每两周执行 We may want to run some jobs for every two weeks/months/days- under some situation such a ...
- java每五分钟执行一次_Cron表达式每N分钟运行一次
如果你想每隔_2665302分钟运行一次cron,有三种情况需要考虑: 每 n 分钟(60可以被_2665304整除) 每分钟 n 分钟 YYYY-MM-DD HH:MM:00 (通用) 这是两个完全 ...
- 批处理dir 保存到变量中_批处理|看大神如何教您30秒搞定批量提取文件名!
本文转自公号:UX2088|冰枫大叔 大家好,我是冰叔,又有好几个火星时间没见啦!那么冰叔今天给大家带来的是什么呢?带来的是我们日常工作当中经常会使用到的一项任务,那就是|批|量|提|取|文|件|名| ...
- fileinputstream resources 读取文件_压缩20M文件从30秒到1秒,包教包会
作者:不学无数的程序员链接:https://www.jianshu.com/p/25b328753017 压缩20M文件从30秒到1秒的优化过程 有一个需求需要将前端传过来的10张照片,然后后端进行处 ...
- 获取朋友圈照片_朋友圈可以发 30 秒视频啦!用微视这个新功能就能办到
对于许多热爱分享生活中所见所闻的朋友来说,在发朋友圈时可能都会有这样的感觉:只能分享 15 秒以内的视频,完全不够用啊. 如果你也有同样的困扰,今天,A 君就给你介绍一个实用新功能,让你能够在朋友圈中 ...
最新文章
- NSCache和NSURLCache网络缓存优化
- joomla源代码探析(五) framework.php
- CNDO-INTGRL-SS-BINTGS-斯莱特轨道指数--- 精确方法
- 软件安装被分成了两个iso文件怎么安装
- 嘉年华回顾丨Eygle带你领略数据库技术和生态的发展演进
- 禁止i5笔记本按Ctrl+Alt+向下键翻转屏幕
- android存电话号码,如何从android中删除联系人的电话号码?
- DisplayTag汉化
- 【DirectX】D3D中基本图形绘制函数形参意义(总结)
- java影视app对接cms,原生影视App双端对接飞飞CMS
- Visual C++网络编程经典案例详解 第9章 实用播放器 编程基础 播放mp3文件 读取文件
- 云服务器应用打不开,云虚拟主机网站打不开等常见错误提示解决方法
- Tic Tac Toe
- 2020携程java面试题整理,开发实习一面面经
- 如何从“固定型”思维模式转化为“成长型”思维模式
- LeetCode-1264. 页面推荐(中等)
- Android 数据持久化
- python爬虫登录微博_为爬虫获取登录cookies: 使用Charles和requests模拟微博登录
- 用mac的chrome浏览器调试 Android 手机的网页
- C++ 中内存对齐原理及作用