define('DISABLE_WP_CRON', true);
# 系统 cron 只在新机保留一条
*/10 * * * * curl -s https://example.com/wp-cron.php
新服务器上线后同一篇文章每天发两遍,时间差十分钟,两台机器的日志里都有 wp-cron 的执行记录。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:旧服务器没停机,两台机器读同一份还原出来的数据库,定时任务各跑一遍。任务锁存在数据库里也挡不住两边同时抢。
「还原后 cron 重复」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
处理上按这个顺序:旧服务器先停站或者禁用 wp-cron;新环境把 DISABLE_WP_CRON 打开 改用系统定时任务;确认两边的任务列表没有重复项。
确认没问题再收工,同一篇文章只发布一次,两台机器的日志里不再同时出现任务记录。
