【问题标题】:Is it okay to create a cron job to delete my data in mysql databse?可以创建一个cron作业来删除我在mysql数据库中的数据吗?
【发布时间】:2012-11-10 10:38:11
【问题描述】:

我有一种情况,我想在给定日期之后删除我的一些数据库记录。目前,我每天都使用手动方式运行一个 php 文件,以从我的数据库中删除所有旧记录。我听说过 cron 作业

我决定去做 cron 工作。

将其作为一项 cron 工作是一个不错的选择吗?有什么我需要考虑的利弊吗?

【问题讨论】:

  • @vinu 如果您想在给定日期之后删除数据,那么只需使用 cron 作业。这是方法。关于利弊,每件事都有其利弊,但要视情况而定。在您的情况下,它们没有缺点。
  • Cron 是不错的选择,但如果数据与客户相关,我们通常不会进行硬删除,我们会进行软删除,例如更改状态,或将记录移动到某个存档表以便将有助于将来参考
  • 你也可以使用mySQL触发器来做同样的事情Time based triggers
  • 感谢您的意见。我将使用 cron 作业。请提供您的评论作为答案,以便我接受。谢谢

标签: php mysql linux cron


【解决方案1】:

如果您想在给定日期之后删除数据,则只需使用 cron 作业。这就是方法。关于利弊,每件事都有其利弊,但要视情况而定。在您的情况下,它们没有缺点。

【讨论】:

  • 虽然这是正确的答案 - 总有一个骗局!在这种情况下,它是 cron 停止工作的时候(除非你让它每次都通知你,这变得很痛苦)。因此,要么保持通知运行,要么记得偶尔检查它是否仍在工作。不幸的是,它们不是“一劳永逸”的。
【解决方案2】:

Cron 是不错的选择,但如果数据与客户相关,我们通常不会进行硬删除,我们会进行软删除,例如更改状态或将记录移动到某个存档表,以便将来使用参考。

如果您的 mysql 数据库空间有限,请务必使用 cron 作业来删除记录。但是如果你在服务器上有巨大或无限的 mysql 数据库空间,你可以使用 Cron 作业将旧记录传输到存档表。这将是安全的选择,因为您拥有所有数据。

另外,如果你无论如何都要删除它,在删除之前,你可以在 cron 中编写一个代码来自动备份你的数据库并通过电子邮件发送给你,这样你就可以放心地删除记录了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2015-09-11
    • 2016-12-15
    • 2014-03-17
    • 2023-04-01
    相关资源
    最近更新 更多