Сам отвечу на свой вопрос.
Решил задачу так:
Генерируем task задачу
php symfony generate:task --brief-description="Короткое описание." task_name
В сгенерированный файл, который по-умолчанию находится в папке lib/task пишем то, что нужно запустить.
Как из task файла запустить функцию, которая располагается в action файле темплейта, я не разобрался. В моем случае я просто скопировал код из action файла и дописал его в task файл.
{
list($new, $old) = FilePeer::rescanDirs();
$this->getUser()->setFlash('notice', $new . ' файл(ов) добавлено, ' . $old . ' файл(ов) удалено.');
}
Все готово.
Дальше можно запускать задачу из bash скрипта или из крона.
php symfony task_name