crontab не будет работать на Mac 10.6.7

я создаю простое задание cron, редактируя /etc/crontab следующим образом:

*/2     *       *       *       *       *       php /Users/min/Documents/testcron.php

и testcron.php прост:

<?php

$fd = fopen("/Users/min/Documents/testcron.txt", 'a');
fwrite($fd, "test--cron--\n");
fclose($fd);
?>

затем просто сохраните файл crontab и надейтесь, что произойдет волшебство, но ничего не произошло. я даже запускаю команду вручную, и это сработало.

php /Users/min/Documents/testcron.php

у кого-нибудь есть идеи? Спасибо


person ohana    schedule 28.04.2011    source источник


Ответы (3)


Не уверен, но могу поспорить, что ваш файл не читается. Возможно, вам нужно сделать

$ crontab -e

редактировать, а затем он правильно читается после сохранения?

Вероятно, вы могли бы проверить эту теорию, выполнив

$ crontab -l

чтобы просмотреть таблицу, чтобы увидеть, работает ли она уже.

person MJB    schedule 28.04.2011
comment
Хорошо, я запустил crontab -e, чтобы перезаписать файл, хотя меня уже тошнит от vi, затем запустил crontab -l, теперь он жаловался: crontab: нет crontab на мин, не все ли равно, где я запустил crontab -e? - person ohana; 29.04.2011
comment
@ohana: Неважно, откуда вы запускаете crontab -e. Но вы должны войти в систему как пользователь, с правами которого будет запускаться cronjob. Выдавал ли crontab -e результат вроде «Установка нового crontab for min», когда вы сохранили crontab и закрыли vi? Кстати: вы можете избежать использования vi, установив переменную окружения EDITOR на что-то другое. - person bmk; 29.04.2011

Небольшое примечание: в некоторых системах вам нужно выполнить sudo crontab -e и sudo crontab -l, потому что в противном случае у вас не будет необходимых разрешений для создания или просмотра crontab.

person Nmuta    schedule 31.08.2012

Я думаю, что одной колонки слишком много. У вас есть 6 столбцов спецификации времени - должно быть 5: минуты, часы, день месяца, месяц, день недели:

*/2 * * * * php /Users/min/Documents/testcron.php
person bmk    schedule 28.04.2011
comment
это 5 столбцов: */2 означает каждые 2 минуты. - person ohana; 29.04.2011
comment
я опечатался здесь с еще одним столбцом, но в моем файле это 5 столбцов. - person ohana; 29.04.2011
comment
@ohana: Похоже, это другая проблема. Вы видите что-нибудь, например, в /var/log/messages? - person bmk; 29.04.2011