#laravel #cron #scheduled-tasks #laravel-7
#laravel #cron #запланированные задачи #laravel-7
Вопрос:
мой cronjob не работает, и я не знаю, где ошибка
это моя команда в Cpanel
/usr/local/bin/ea-php72/home/host/public_html amp;amp; php artisan schedule:run >> /dev/null 2>amp;1
это мое расписание в ядре
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
$filename1 = base_path("/CSV/data.csv");
$filesize1 = filesize($filename1);
if($filesize1 > 0)
{
$file1 = fopen(base_path("/CSV/data.csv"), "r");
while (($getData1 = fgetcsv($file1, 10000, ";")) !== FALSE)
{
DB::table('tbdata')->insert([
'ID' => $getData1[0],
'Date_' => $getData1[1],
'Date' => $getData1[2],
'Status' => $getData1[3],
'Remark' => $getData1[4],
'SMS' => $getData1[5]
]);
}
fclose($file1);
unlink(base_path("/CSV/data.csv"));
}
})->daily();
}
пожалуйста, помогите мне
Ответ №1:
В команде cronjob эта часть >> /dev/null 2>amp;1
указывает cPanel не отправлять вам ошибки. Если вы удалите это, вы, вероятно, получите электронные письма с сообщением об ошибке.
Кроме того, вы можете вручную запустить командную строку /usr/local/bin/ea-php72/home/host/public_html amp;amp; php artisan schedule:run
. Вероятно, вы обнаружите, что перед этим вам не хватает cd
.
Комментарии:
1. я пробовал
cd /home/host/public_html amp;amp; php artisan schedule:run >> /dev/null 2>amp;1
. но все еще не работает2. Почему вы добавляете
>> /dev/null 2>amp;1
часть? Таким образом, вы не будете получать сообщения об ошибках по почте.3. я удалил
>> /dev/null 2>amp;1
. но все еще не работает, и я не получил никакого электронного письма4. У вас есть доступ по SSH? Можете ли вы спросить своего хоста, почему ошибки cronjob не отправляются на ваш почтовый ящик?
5. Я получил решение создать свой собственный файл журнала, подобный этому
cd /home/host/public_html amp;amp; php artisan schedule:run >> /home/host/public_html/backup.log 2>amp;1
. Спасибо @Daan Meijer
Ответ №2:
Я получил решение создать свой собственный файл журнала следующим образом
cd /home/host/public_html amp;amp; php artisan schedule:run >> /home/host/public_html/backup.log 2>amp;1
Спасибо @Daan Meijer