在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
文件中定義的任務。