использование команды crontab
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
Итак,
$output = shell_exec('crontab -l');
file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL);
echo exec('crontab /tmp/crontab.txt');
Вышеприведенное можно использовать как для создания, так и для редактирования / добавления при условии, что у пользователя есть достаточные права на запись в файл.
Чтобы удалить задания:
echo exec('crontab -r');
Также обратите внимание, что apache работает как отдельный пользователь, и это обычноне root, что означает, что задания cron могут быть изменены только для пользователя apache, если не предоставлено право crontab -u
пользователю apache.