logo 驰遥科技 文档中心
文档 /系统架设 /定时任务配置(Crontab)
反馈纠错

定时任务配置(Crontab)

定时任务配置(Crontab)

系统有多个定时任务:会费提醒、队列处理、支付对账、档案 OCR 补跑、授权同步。不配定时任务,这些功能不会自动跑。

一、宝塔面板配置(推荐)

宝塔 → 计划任务 → 添加任务:

| 字段 | 填什么 | |---|---| | 任务类型 | Shell 脚本 | | 任务名称 | 协会系统调度 | | 执行周期 | 每分钟 | | 脚本内容 | 见下方 |

脚本:

cd /www/wwwroot/你的域名 && /www/wwwroot/你的域名/../php82/bin/php artisan schedule:run >> /dev/null 2>&1

宝塔 PHP 路径一般是 /www/server/php/82/bin/php,把上面路径换成实际路径:

cd /www/wwwroot/你的域名 && /www/server/php/82/bin/php artisan schedule:run >> /dev/null 2>&1

二、命令行配置(Linux Crontab)

crontab -e 添加:

* * * * * cd /www/wwwroot/你的域名 && /www/server/php/82/bin/php artisan schedule:run >> /dev/null 2>&1

三、系统自带的任务清单

执行 php artisan schedule:list 能看到全部:

php artisan schedule:list

典型输出:

* * * * *  php artisan queue:work --stop-when-empty .... 队列处理
*/5 * * * * php artisan pay:reconcile ................... 支付对账
* * * * *  php artisan archive:ocr --retry --limit=3 .... 档案 OCR 补跑
*/5 * * * * php artisan approval:sync-wecom ............. 企微审批同步
0 9 * * *  php artisan fee:remind ...................... 会费催缴提醒

四、队列必须能跑

队列负责:邮件发送、短信、AI 异步任务、支付回调处理。队列挂了这些都会卡住。

验证队列是否正常:

# 手动跑一次看有无报错
php artisan queue:work --stop-when-empty

如果报错,看 storage/logs/laravel.log。

五、常见问题

定时任务没跑

# 手动执行一次,看报错
cd /www/wwwroot/你的域名 && /www/server/php/82/bin/php artisan schedule:run

权限问题

计划任务默认用 root 跑,可能和 www 用户冲突(写缓存文件失败)。改脚本:

su - www -c "cd /www/wwwroot/你的域名 && /www/server/php/82/bin/php artisan schedule:run"

宝塔「执行日志」看结果

宝塔 → 计划任务 → 点任务 → 执行日志,能看到每次执行的输出(成功/报错)。

时间不对

服务器时区要设成 Asia/Shanghai:

timedatectl set-timezone Asia/Shanghai
date

下一步:功能介绍