crontab -l
2. Добавление новых заданий в cron:
crontab -e
Системный файл с системными заданиями лучше не редактировать. Для каждого пользователя командой crontab -e создается свой файл с заданиями.
3. Формат записи заданий в cron:
* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)
Если ставится число - это означает что в момент наступления этого числа будет выполнена команда планировщика.
Например:
5 0 * * * команда
"команда" будет выполнена каждый день в 0 часов 5 минут.
Для выполнения команды через промежуток времени используется слеш.
Например:
*/1 * * * * команда
"команда" будет выполняться через одну минуту (каждую минуту) с момента запуска cron.
(!) Каждая команда должна располагаться на новой строчке. После последней команды должен идти перенос строки.
4. Ошибки, возникающие при выполнении команд через cron отправляются в файл почты /var/mail/root
Чтобы ошибки выводились в отдельный файл, его можно указать в строке с командой:
*/1 * * * * команда 2>/tmp/cron.tmp
Ошибки будут помещаться в файл /tmp/cron.tmp
5. Команды для выполнения скриптов PHP пишутся через интерпритатор PHP:
*/1 * * * * /usr/bin/php -q /var/www/test.php
test.php будет выполняться каждую минуту.
(!) Если в скриптах php используется команда include с относительным путем в скрипте должно быть указание на домашнюю директорию командой:
chdir('/var/www'); // "Домашней" считается директория /var/www
6. Перезапуск cron
/etc/init.d/cron restart