среда, 22 октября 2008 г.

Настройка заданий для DSpace

Для того, чтобы можно было сказать, что наша установка DSpace завершена, необходимо сделать ещё несколько вещей.

Задания для демона 'cron'
Пара функций DSpace требуют регулярного запуска. Это подписка по e-mail, которая оповещает пользователя о новых поступлениях в библиотеке, и новый медиа-фильтр, который генерирует миниатюры из изображений и извлекает полный текст документов для индексирования. Для их запуска мы будем использовать демон 'cron'.

cron — демон-планировщик задач в UNIX-образных операционных системах, использующийся для периодического выполнения заданий в заданное время.

Каждый пользователь системы имеет свой файл заданий crontab (файлы всех пользователей хранятся в каталоге /var/spool/cron/crontabs), в котором описано, в какое время и какие программы запускать от имени этого пользователя. Для редактирования файла crontab используется специальная одноименная программа crontab, позволяющая не прерывать процесс cron на время редактирования.

Файл заданий имеет следующий формат:

* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)

  • Итак, создадим файл с именем dspace-services:

    # Запуск рассылки подписок ежедневно в 01:00
    0 1 * * * /opt/dspace/bin/sub-daily
    # Запуск медиа-фильтра ежедневно в 02:00
    0 2 * * * /opt/dspace/bin/filter-media
    # Запуск проверки контрольных сумм каждый день в 03:00
    0 3 * * * /opt/dspace/bin/checker -lp
    # Выслать ежедневный отчет администратору в 04:00
    0 4 * * * /opt/dspace/bin/dsrun org.dspace.checker.DailyReportEmailer -c
    # Формирование статистических отчетов
    0 1 * * * /opt/dspace/bin/stat-general
    0 1 * * * /opt/dspace/bin/stat-monthly
    0 2 * * * /opt/dspace/bin/stat-report-general
    0 2 * * * /opt/dspace/bin/stat-report-monthly

    Теперь на основе этого файла создадим для пользователя tomcat задание:
    sudo crontab -u tomcat dspace-services

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

  • Производительность PostgreSQL выиграет от регулярного запуска процесса чистки базы, который оптимизирует индексы и очищает удаленные данные.

    Создадим файл postgresql-services:

    # Очистка базы каждую ночь в 04:20
    20 4 * * * vacuumdb --analyze dspace > /dev/null 2>&1

    Создаем задание для пользователя postgres:
    sudo crontab -u postgres postgresql-services

3 комментария:

Unknown комментирует...

Спасибо огромное!

Буду ОЧЕНЬ признательным если вы еще выложите русифицированые xml для замены.

Unknown комментирует...

SLASH_id: Чуть попозже выложу

Unknown комментирует...

http://ifolder.ru/15341965