Расписание Laravel не может работать в Cronjob Cpanel

#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