Я бы пользовался at, оно как мне видится чуть больше подходит для данной задачи.
Так же, в Redis'е есть возможность устанавливать срок жизни данных, а в Laravel есть поддержка Redis'а. Можно воспользоваться этой возможностью Redis'а, сохраняя данные там. Так же в Redis'е есть "события", которые в т.ч. могут оповестить о том, что срок жизни "таких-то" данных истёк и привязать соотв. удаление файла связанного с этими данными с диска.