![运行在 MySQL 中插入大量行的脚本时 Crontab 崩溃](https://linux22.com/image/574248/%E8%BF%90%E8%A1%8C%E5%9C%A8%20MySQL%20%E4%B8%AD%E6%8F%92%E5%85%A5%E5%A4%A7%E9%87%8F%E8%A1%8C%E7%9A%84%E8%84%9A%E6%9C%AC%E6%97%B6%20Crontab%20%E5%B4%A9%E6%BA%83.png)
当我运行一个在 MySQL 数据库上插入很多行的脚本时,我的 crontab 会崩溃,但当我运行一个插入几行的脚本时,它会正常运行。cron 有一些配置文件吗?也许是一些关于内存使用的配置。
答案1
您需要找到脚本崩溃的原因。以下是需要检查的一些要点:
- 确保没有运行同一脚本的多个实例。如果您长时间运行脚本和/或运行频率过高,这一点尤其有用。
- 在相关时在脚本中包含一些调试信息。这可以帮助您确定脚本停止的位置。
- 如果可能的话,将插入语句拆分为多个迭代。
答案2
使用 cron 作业向 MySQL 插入“不知道有多少”行是错误的设计。
首先通过在正常 cron 进程之外进行适当的记录来确定 cron 作业是否有足够的时间来完成插入。
然后,当您确定它确实花费了太多时间时,请减少 cron 作业的频率,或减少一次运行期间的插入次数。