Особо вдаваться в подробности описания cron-а не буду да и не вижу в этом смысла. Я лишь расскажу как им пользоваться для запуска приложений по необходимому расписанию.

Заходим по SSH на сервер (можно, конечно, и не по SSH, а просто подойти к серверу и работать с клавиатуры). Попадаем в шелл, набираем команду

crontab -e

У вас откроется файл конфигурации cron, который может быть и пустым. Не важно каким редактором вы будете пользоваться, важно чтобы синтаксис был правильным. Заметьте, что для каждого пользователя unix-системы cron использует собственный файл конфигурации и ваши запланированные задания никак ни на ком не отразятся. Синтаксис самого файла довольно прост

Минуты<tab>Часы<tab>Дни<tab>Месяцы<tab>Дни_Недели<tab>команда

где <tab> - табуляция (именно табуляция, а не пробелы!)

Формат указания данных минут, часов, дней и месяцев следующий и значения зависят от положения данных в строке конфигурации:

 * - каждая минута/час/день/месяц/день недели

*/2 - каждая вторая минута часа, каждый второй час суток, каждый второй день месяца, каждый второй месяц года

4 - четвертая минута часа, четвертый час суток, четвертое число месяца

1-20 - с первой по 20-ю минуту, с 1 по 20 час дня, с 1 по 20 число месяца

1,20 - первая и 20-я минуты часа, 1 и 20 час суток, 1 и 20 число

дни недели обозначаются цифрами от 0 до 6, при этом 0 - воскресенье, а остальные дни недели имеют увеличивающееся значение в порядке естественного хода.

Команда обязательна должна быть записана с указанием полных путей.

В качестве примера приведу строку конфигурации cron c реального сервера

0     3       30       *       *       /usr/local/bin/cvsup -g -L 2 /etc/conf/cvsup/ports-all.cvs

Вышеприведенный пример заставляет запускаться процесс обновления портов 30 числа каждого месяца ровно в 3 часа ночи независимо от дней недели.

Естественно, что после редактирования файл нужно сохранить, при этом произойдёт инициализация демона (если править файл руками напрямую, минуя команду crontab то инициализации не будет и cron не узнает об изменении конфигурации). У команды crontab есть и другие ключи.

Так crontab -r удалит все назначенные задания для текущего пользователя, а crontab -l покажет содержимое конфигурационного файла. Можно также указать конкретного пользователя, используя ключ -u, но его использование доступно только администраторам.