Я настроил консольную команду с функцией handle()
следующим образом:
public function handle()
{
$fileSystem = new Filesystem;
$fileSystem->cleanDirectory('storage/app/public/tmp');
}
И в ядре консоли я настроил команду:
$schedule->command('cleanupfiles:tmp')
->everyMinute()
->sendOutputTo(storage_path('logs/taskoutput.log'));
В crontab суперпользователя есть следующая запись:
* * * * * php /var/www/website/artisan schedule:run >> /dev/null 2>&1
Я вижу, как планировщик задач выполняется каждую минуту, глядя на /var/log/syslog
, поэтому cron выполняет свою работу, но содержимое папки не очищается.Когда я запускаю задачу прямо в терминале с помощью: php artisan schedule:run
я получаю тот же эффект;файлы не удалены.Наконец, когда я запускаю расписание с sudo php artisan schedule:run
, я вижу, что оно работает, файлы удаляются и вывод записывается в taskoutput.log
.
Как я могу решить эту проблему, чтобы задача выполнялась с необходимыми разрешениями?Или я что-то еще здесь скучаю?Спасибо.