在 Bash 中执行时间戳比较的最佳方法是什么

2024-03-28

我有一个警报脚本,我试图阻止它向我发送垃圾邮件,因此我想设置一个条件,如果在过去一小时内发送了警报,则不再发送警报。现在我有一个 cron 作业,每分钟检查一次条件,因为我需要在满足条件时快速收到警报,但我不需要每分钟都收到电子邮件,直到问题得到控制。在 bash 中比较时间来完成此任务的最佳方法是什么?


到目前为止,最简单的方法是将时间戳存储为虚拟文件的修改时间。 GNUtouch and date命令可以设置/获取这些时间并执行日期计算。 Bash 有测试来检查文件是否比 (-nt) 或早于 (-ot) 其他。

例如,仅当最后一次通知是在一个多小时前时才发送通知:

touch -d '-1 hour' limit
if [ limit -nt last_notification ]; then
    #send notification...
    touch last_notification
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Bash 中执行时间戳比较的最佳方法是什么 的相关文章

  • linux脚本杀死java进程

    我想要linux脚本来杀死在控制台上运行的java程序 以下是作为 jar 运行的进程 rapp s1 dlap0 ps ef grep java rapp 9473 1 0 15 03 pts 1 00 00 15 java jar ws
  • 如何使用 bash/expect 检查 SSH 登录是否有效

    我的团队管理着许多服务器 公司政策规定这些服务器上的密码必须每隔几周更改一次 有时 我们的官方密码数据库会因某种原因而过时 人们通常会忘记更新它 但有时我们要到几个月后才能识别这一点 因为我们并不总是使用每台服务器 我想编写一个脚本 从数据
  • 如何查找两个文件的集合差异?

    我有两个文件 A 和 B 我想找到 A 中 B 中没有的所有行 在 bash 使用标准 Linux 实用程序中执行此操作的最快方法是什么 到目前为止 这是我尝试过的 for line in cat file1 do if grep c li
  • Unix 时间戳到 FAT 时间戳

    我正在尝试将时间结构转换为 FAT 时间戳 我的代码如下所示 unsigned long Fat tm struct pTime unsigned long FatTime 0 FatTime pTime seconds 2 gt gt 1
  • 使用多个管道从 Python 执行 Shell 脚本

    我想在 python 脚本中执行以下 Shell 命令 dom myserver cat etc xen myserver cfg grep limited cut d f2 tr d 我有这个 dom myserver limit sub
  • Java JFormattedTextfield 时间格式化

    我在代码中使用时间时遇到了一些麻烦 txtDauer new JFormattedTextField txtDauer setFormatterFactory new DefaultFormatterFactory new DateForm
  • 递归使用 scp 但排除某些文件夹

    假设有一些具有这些结构的文件夹 bench1 1cpu p 0 image bench1 1cpu p 0 fl 1 bench1 1cpu p 0 fl 1 bench1 1cpu p 0 fl 1 bench1 1cpu p 0 fl
  • Linux bash 中波浪号的含义(不是主目录)

    首先 我知道 是主目录 CD 至 or 带我到主目录 然而 cd X带我去一个特别的地方 在那里X似乎是什么 在 bash 中 如果我点击 cd 然后点击选项卡 它会显示一堆可能的 X选项如 mail and postgres and ss
  • 使用 netcat 提供包含图像的 HTTP 响应

    我正在尝试使用 netcat 编写一个小型 HTTP 服务器 对于纯文本文件 这工作正常 但当我尝试发送图片时 浏览器仅显示损坏图像的图标 我所做的就是提取所请求文件的 mime 类型和大小 并将其发送给客户端 我的示例图片的请求标头如下所
  • 将 CSV 文件拆分为较小的文件但保留标题?

    我有一个巨大的 CSV 文件 有 100 万行 我想知道是否有一种方法可以将此文件拆分为较小的文件 但保留所有文件的第一行 CSV 标题 它似乎split速度非常快 但也非常有限 您不能向文件名添加后缀 例如 csv split l1100
  • 当夏令时开始/结束时,自纪元以来的毫秒数会发生什么?

    自纪元以来的毫秒数表示自 1970 年以来经过的毫秒数 在夏令时结束之前的那一刻 或者当我们将时钟从 2 00 设置回 1 00 时 自纪元以来的毫秒数也会回退 或者他们继续吗 另一个问题 如果我住在美国加利福尼亚州 采用太平洋 夏令 标准
  • 不太无用的“yes”bash 命令:如何在每个循环中确认命令

    我编写了一个循环来解压缩目录中的所有 zip 文件 for f in zip do unzip f done 但是 我必须在每一步确认覆盖 replace file123 txt y es n o A ll N one r ename A
  • 获取以 UTC 表示的当前时间的最简单 PowerShell 方法

    我已查看该帖子在 PowerShell 中创建具有特定 UTC 日期时间的 DateTime 对象 https stackoverflow com questions 10487011 creating a datetime object
  • 为什么我的 git 自动更新 Expect 脚本不起作用?

    我想制作一个脚本来更新我所有的 GitHub 存储库 我只需要输入我的用户名和密码 脚本将遍历存储库列表 调用git push并通过补充 Expect 脚本提供必要的信息 这是我的 bash 脚本 bin bash echo Updatin
  • 使用 bash 解析 ICS 文件

    这是一个谷歌日历 ics 文件 我每次都会下载它来检查是否有新的比赛事件被添加或更改 并且我出现在IRC上 我需要转换这样的文件 BEGIN VEVENT DTSTART 20160612T201000Z DTEND 20160612T21
  • 为什么我的 sed 命令在使用变量时失败?

    使用 bash 我尝试插入日期变量并搜索该日期的日志文件 然后将输出发送到文件 如果我像这样对日期进行硬编码 它会起作用 sed n Nov 22 2010 p file gt log file 但如果我这样做就会失败 date Nov 2
  • 使用 Bash 比较 PHP 版本号?

    我有这个脚本 应该确保用户当前的 PHP 版本在某个范围内 尽管它应该可以工作 但某个地方有一个错误 使它认为版本超出范围 有人可以看一下并告诉我我能做什么来解决它 function version echo gawk F printf d
  • 如何使用Intent限制录音时间?

    使用意图时如何限制录制 我尝试了这段代码 Intent intent new Intent MediaStore ACTION VIDEO CAPTURE intent putExtra android intent extra durat
  • “sed” 在文件中插入反斜杠

    Tool Windows 版 Git Bash Problem 尝试在目录中每个文件的顶部插入文本 connectcentral Code for f in DIR sql do sed i 1i connect central f don
  • 如何向 gitlab-ci.yml 添加多行 bash EOD 命令?

    这个问题已被问过多次 但大多数问题都很容易解决 尽管使用工具expect它没有像我预期的那样工作 usr bin expect lt

随机推荐

  • 每个 id 单行到每个 id 多行

    我想根据给定的时间间隔将观察结果从每个 id 单行扩展到每个 id 多行 gt dput df structure list id c 123 456 789 gender c 0 1 1 yr start c 2005 2010 2000
  • 使用 Ruby on Rails 进行 Postgres 公共表表达式查询

    我试图找到在 Rails 应用程序中使用通用表表达式进行 Postgres 查询的最佳方法 因为我知道 ActiveRecord 显然不支持 CTE 我有一张桌子叫user activity transitions其中包含一系列正在启动和停
  • 如何将数据帧转换为R中的ID列表? [复制]

    这个问题在这里已经有答案了 我整个晚上都在努力弄清楚如何在 R 中做到这一点 基本上我有一个如下的数据集 id lt c 1 1 1 2 2 3 3 3 3 label lt c a b c b d a c d e mydata lt as
  • 在固定超时内缓存单个对象的最佳方法是什么?

    Google Guava 有 CacheBuilder 允许使用过期密钥创建 ConcurrentHash 从而允许在固定 tiemout 后删除条目 但是我只需要缓存某种类型的一个实例 使用 Google Guava 在固定超时内缓存单个
  • Rxjs 主题下一个或 onNext

    我对 rxjs 很陌生 请耐心等待 例如在本教程中http blog angular university io how to build angular2 apps using rxjs observable data services
  • 无法在 Ubuntu 12.10 上安装 pg gem

    我使用的是 Ubuntu 12 10 64 位 并且安装了以下软件包 dpkg get selections grep postgre output postgresql postgresql 9 1 postgresql client p
  • 在 Java 中对月份和年份进行排序的最有效方法

    我有一个列表 其中包含字符串格式的日期 MON YYYY 我需要对此列表进行排序 到目前为止我遵循的方法是读取列表并以日期格式转换字符串并使用比较选项 但是我我没有得到想要的结果 代码片段 List
  • 检测受密码保护的 PPT 和 XLS 文档

    我找到了这个答案https stackoverflow com a 14336292 1537195 https stackoverflow com a 14336292 1537195这提供了检测 DOC 和 XLS 文件密码保护的好方法
  • 追加在 for 循环中生成的 pandas 数据帧

    我正在 for 循环中访问一系列 Excel 文件 然后我将 Excel 文件中的数据读取到 pandas 数据框中 我不知道如何将这些数据框附加在一起 然后将数据框 现在包含所有文件中的数据 保存为新的 Excel 文件 这是我尝试过的
  • Python Reddis 队列 ValueError:worker 无法处理 __main__ 模块中的函数

    我正在尝试使用 python rq 在 redis 中排队一项基本作业 但它会抛出此错误 ValueError 函数来自main模块无法被工作人员处理 这是我的程序 import requests def count words at ur
  • Oracle:DDL 和事务回滚

    Oracle DDL 创建 更改 是否可以像 MS SQL 中那样具有事务性 从 2005 年开始 DDL 在 Oracle 中不是事务性的 来自11 2 doc http docs oracle com cd E25054 01 serv
  • 使用 javascript regexp 查找第一个和最长的匹配

    我有一个像下面的简化示例一样的正则表达式 var exp he hell 当我在字符串上运行它时 它会给我第一个匹配项 fx var str hello world var match exp exec str match contains
  • 将 CNN 的输出传递给 BILSTM

    我正在开发一个项目 其中我必须将 CNN 的输出传递给双向 LSTM 我创建了如下模型 但它抛出 不兼容 错误 请让我知道哪里出了问题以及如何解决这个问题 model Sequential model add Conv2D filters
  • requestAnimationFrame 仅被调用一次

    我正在尝试在 Ionic 2 应用程序中使用 ThreeJS 实现非常基本的动画 基本上是尝试旋转一个立方体 但立方体没有旋转 因为 requestAnimationFrame 仅在渲染循环内执行一次 I m able to see onl
  • 如何设置 Eclipse CDT 使用 GCC-4 而不是 GCC?

    如何设置 Eclipse CDT 使用 GCC 4 而不是 GCC 我问这个问题是因为我使用 Windows 64 位和 Cygwin 而 gcc exe 不起作用 我需要配置 Eclipse CDT 以使用 gcc 4 exe 但我不知道
  • 将 CSV 文件或 Excel 电子表格转换为 RESX 文件

    我正在寻找针对我遇到的问题的解决方案或建议 我有一堆需要本地化的 ASPX 页面 还有一堆需要支持 6 种语言的文本 进行翻译的人员无法访问 Visual Studio 最简单的工具可能是 Excel 如果我们使用 Excel 甚至导出到
  • 带有 firebase crashlytics 的 Hermes 包的反应本机源图

    我想从react native应用程序中读取crashlytics报告 但它在firebase控制台中根本不可读 Android 的崩溃示例如下所示 Non fatal Exception io invertase firebase cra
  • 使用 AST 解析器提取类实现的接口

    我正在使用 AST 解析器编译项目源代码 我可以通过什么方式提取类层次结构信息 即它是否正在实现任何接口或从另一个类扩展 您可以访问TypeDeclaration节点并从中获取类型绑定 ITypeBinding typeBind typDe
  • Scala,让我的循环更加实用

    我正在尝试减少像 Java 一样编写 Scala 2 8 的程度 这是我遇到的问题的简化 您能否对我的解决方案提出 更实用 的改进建议 变换地图 val inputMap mutable LinkedHashMap 1 gt a 2 gt
  • 在 Bash 中执行时间戳比较的最佳方法是什么

    我有一个警报脚本 我试图阻止它向我发送垃圾邮件 因此我想设置一个条件 如果在过去一小时内发送了警报 则不再发送警报 现在我有一个 cron 作业 每分钟检查一次条件 因为我需要在满足条件时快速收到警报 但我不需要每分钟都收到电子邮件 直到问