Задания для демона '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 комментария:
Спасибо огромное!
Буду ОЧЕНЬ признательным если вы еще выложите русифицированые xml для замены.
SLASH_id: Чуть попозже выложу
http://ifolder.ru/15341965
Отправить комментарий