100% через кли +, как уже отметили использовать flovk, который убережёт от повторного запуска скрипта, если предыдущий не закончил работу.
Почему кли лучше? Потому, что скрипт может работать дольше, чем, например настроенный тайм-аут на веб сервере. В кли скрипт гарантированно отработает ну и не забываем запускать через sudo, например:
sudo -u apache php ... script.php