在Debian上设置Laravel的定时任务,你需要遵循以下步骤:
确保已经安装了PHP和Laravel。如果还没有安装,请参考Laravel官方文档进行安装:https://laravel.com/docs/8.x/installation
在Debian上,我们通常使用systemd
来管理定时任务。首先,创建一个新的systemd
服务文件,用于运行Laravel调度器。使用文本编辑器(如nano或vim)创建一个名为laravel-scheduler.service
的文件:
sudo nano /etc/systemd/system/laravel-scheduler.service
laravel-scheduler.service
文件中,确保根据实际情况替换<user>
、<group>
、<project-path>
和<env-file>
:[Unit]
Description=Laravel Scheduler
After=network.target
[Service]
Type=simple
User=<user>
Group=<group>
WorkingDirectory=<project-path>
Environment="APP_ENV=<env-file>"
ExecStart=/usr/bin/php /project-path/artisan schedule:run >> /dev/null 2>&1
Restart=always
[Install]
WantedBy=multi-user.target
保存并关闭文件。
重新加载systemd
守护进程以识别新创建的服务:
sudo systemctl daemon-reload
sudo systemctl start laravel-scheduler
sudo systemctl enable laravel-scheduler
crontab -e
* * * * * cd /project-path && /usr/bin/php artisan schedule:run >> /dev/null 2>&1
确保将/project-path
替换为你的Laravel项目的实际路径。
现在,Laravel定时任务已经在Debian上设置好了。调度器将每分钟运行一次,执行你在app/Console/Kernel.php
文件中定义的任务。