【问题标题】:php script deleting row automatically somehow - can not find the culpritphp脚本以某种方式自动删除行-找不到罪魁祸首
【发布时间】:2015-08-18 08:20:59
【问题描述】:

我有一个运行 php 脚本的 cron。此脚本用于数据库中的队列表。队列表保存需要完成的工作。运行作业时,队列表中有一个列用于状态列。当它设置为 1 时,我知道作业仍在运行。当脚本完成时,它将标志设置为 2。现在这一切正常,直到几天前。

首先...我要明确一点,cron 脚本中没有 DELETE 函数。

不知何故,在记录并查看 mysql 中的所有内容后,我看到在作业开始运行后,一个 DELETE 命令通过,用于当前正在运行的作业。所以它会删除队列表中的行。

我不知道这是从哪里来的,因为在任何地方都没有 cron 作业正在运行来执行此操作。

mysql 日志只显示 DELETE 语句。但我正试图找到这样做的罪魁祸首脚本......

关于以某种方式记录调用该命令的违规脚本的任何想法?

希望这一切都有意义。 ;)

【问题讨论】:

  • 那么,你想给我们看一些代码还是让我们大胆猜测一下?
  • 这与您的代码有关。可惜我们看不到。
  • 可以否决我的死...但是无论您怎么看,正在运行的 cron 都没有删除语句。实际上没有运行的 cron 在它的期间有一个删除语句。所以......正如最初的问题所问......你能想出一种方法来记录删除命令的来源吗?那是我的实际问题。到目前为止,我已经对与此应用程序相关的所有内容进行了 grep。还查看了系统中的每个 cron。我的问题与查看代码无关,而是关于如何记录对 mysql 的查询起源的想法。
  • 您的医生是自己诊断您还是仅根据您告诉他的内容对您进行治疗?
  • 人们会回答具体的问题,还是只是想出一些可爱的话在这里说?更容易说......我不知道无论如何要记录类似的东西,除了mysql日志,它不会告诉你什么,但查询正在运行。如果您不能坚持手头的实际问题,请不要看到不回答的难处。我的问题不需要查看 cron 代码。有一种方法可以记录查询的来源或不来源。已经运行了几个月的相同代码。我已经浏览了文件。

标签: php mysql cron


【解决方案1】:

我实际上开始记录mysql的所有查询。然后记录由特定用户名运行的所有进程。然后我匹配了时间戳,并找到了相关的有问题的脚本。这实际上是在另一个站点上,该站点仍然具有来自有问题的服务器的数据库信息。由于用于 cron 的脚本中没有删除功能,就像我反复说过的那样,在此之后追踪它并不难。

所以是的,有办法做到这一点。

【讨论】:

    猜你喜欢
    • 2015-04-09
    • 1970-01-01
    • 2012-05-23
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多