Author Topic: Настройка cron на Dreambox  (Read 5738 times)

0 Members and 1 Guest are viewing this topic.

Offline dillinger

  • Администратор
  • *
  • Posts: 1629
  • Karma: 1081
Настройка cron на Dreambox
« on: December 27, 2008, 02:37:57 PM »
Для начала нужно знать, что такое cron и для чего он нужен. cron это программа которая в определенное время выполняет какую нибудь задачу. К сожалению он не присутствует во всех имиджах. Самый простой способ узнать, запущен он у вас или нет, набрать в консоли:

ps ax |grep cron

Если в ответ получили, что то типа этого

Quote
root@dm800:~# ps ax |grep cron
 9352 root        556 S   grep cron

то все нормально.

Для запуска команд используется демон, который запускается из /etc/init.d
cron периодически запускается и проверяет содержимое файлов crontab. Все задания находятся в /var/spool/cron/crontabs в файле с именем пользователя. Так как в Дриме пользователь один root, то и задания будут хранится в файле root

Теперь рассмотрим листинг самого файла:

Quote
SHELL=/bin/sh
PATH=/sbin:/bin:/var/bin

Для Enigma2 путь для поиска команд будет немного отличаться

Quote
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/bin

Формат строки задания будет следующим:

*     *   *   *    *  command to be executed
-     -    -    -    -
|     |     |     |     |
|     |     |     |     +----- day of week (0 - 6) (Sunday=0)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)


[время и дата] [команда]

1. Минуты (0-59)
2. Часы (0-23)
3. Дни месяца (1-31)
4. Месяц года (1-12)
5. День недели (0-6)  # 0 это воскресенье
6. Выполнимая команда

Также используется символ *, который обозначает "каждый". Например, каждый день, месяц, час.

Пример строки:

30 4 * * * reboot

Эта строка означает, что каждый день в 4:30 утра Дрим будет делать перезагрузку.

Еще одна интересная возможность. В каталоге /var/spool/cron создаем каталоги hourly, daily, weekly, monthly и в эти каталоги помещаем скрипты, которые требуется выполнить.

Пример:

30 4 * * * /bin/run-parts /var/spool/cron/daily

run-parts, означает, что в 4.30 каждый день будут выполнены все скрипты или исполняемые файлы из каталога /var/spool/cron/daily

Ну и на самый конец, о команде crontab.

crontab -e режим редактирования
crontab -l  выводит все задания  cron
crontab -r удаляет все задания cron
0,9m - 5E+13E+19Е+4W