- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
操作系统:Ubuntu
当前场景:我有一个 bash 脚本,计划每天中午 12 点运行,每天仅运行一次。它从 mysql 表中获取帐户到期日为今天日期的用户列表,并在各种 mysql 表中禁用它们,并发送电子邮件警报。
问题:有时,由于服务器关闭或中午 12 点重新启动,脚本会错过其计划。
因此,我正在寻找一些逻辑/方法,脚本应该每小时运行一次,并且应该检查以下内容
如果今天中午 12 点已成功执行,则不要重新运行,如果它没有被执行,那么它应该在下次运行时执行脚本并且不要在该日期再次重新运行
最佳答案
您需要保留上次成功运行的状态。我认为你可以通过两种方式实现:
在 mysql 中创建一个新表来存储此信息并存储脚本成功运行时的最后一个日期时间
。每 1 小时脚本就会醒来并查看此时间戳以执行任何待处理的操作。
您还可以将此信息存储在某些系统文件夹中,例如“/var/log/”或您的应用程序有权访问的文件夹中,并且您需要确保此文件不会在重新启动后被删除。
将此逻辑放在文件的开头:
last_time_run = <fetch_from_db or persistant file>
current_time = <get_current_time>
if <already executed>; then
don't do anything and exit.
else
processed and do normal actions.
fi
# End of the script
Update the timestamp in table or db to indicate that for current day the processing is finished.
关于mysql - 确保脚本执行或在计划错过时踢掉它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51022970/
我正在使用 Azure 函数处理来自 IOT 中心的消息并将其输出到 Blob 存储。 enter image description here 但是当我高频发送时,该功能丢失了 IOT 消息。例如,
我正在尝试使用 mediasoup 通过 room.createRtpStreamer 转发 RTP 流 我的问题是我从 producer.rtpParameters.codecs[i].payloa
我正在尝试使用 mediasoup 通过 room.createRtpStreamer 转发 RTP 流 我的问题是我从 producer.rtpParameters.codecs[i].payloa
我正在使用 Spring 应用程序事件将信息发送到其他 bean。有一个 bean A,一旦 A 初始化,它就会发布一个事件。并且有一个 bean B 监听 A 发送的事件。 根据 A 在其他 Bea
CMake 有 Qt4 的特殊变量 ${QT_DEFINITIONS},其中包含 QT 定义,例如 QT_NO_DEBUG 和 QT_DEBUG。 Qt5 没有这样的选项。 如何在 cmake 中添加
我是一名优秀的程序员,十分优秀!