Как упаковать базу данных в Zope?

В процессе работы Zope база данных растет и переодически нуждается в упаковки для экономии места на диске. В данной статье описывается, как самостоятельно настроить автоматическую упаковку базы Zope.

Для решения небходимо воспользоваться ssh -доступом (есть на расширенных тарифных планах Zope/Plone хостинга ) и создать в папке Private исполянемый файл pack_zope_db.sh следующего содержания, подставив туда свои данные:

#!/bin/sh
LOGIN='пользователь'
PASS='пароль'
DB='main'
DAYS='1'
PACK='localhost:порт'
OLD='путь к файлу data.fs.old'
/usr/bin/curl -d "days:float=${DAYS}" -s "http://${LOGIN}:${PASS}@${PACK}/Control_Panel/Database/${DB}/manage_pack"
rm -f ${OLD}

Сохранитесь, и не забудте выставить права запуска на созданный файл.

Затем задайте в панели Plesk cron-задачу для периодического запуска скрипта (раз в сутки, двое).

Для того чтобы запланировать задачу:

  1. Перейдите в раздел Настройки > Задачи (в разделе Общие ).
  2. Выберите учетную запись пользователя системы, от имени которого будет осуществляться выполнение обработчиков.
  3. Нажмите Запланировать новую задачу .
  4. Укажите, когда следует начинать выполнение команды.
    • Минуты - укажите значение от 0 до 59
    • Часы - укажите значение от 0 до 23
    • Дни месяца - укажите значение от 1 до 31
    • Месяцы - укажите значение от 1 до 12 или выберите месяц из выпадающего списка
    • Дни недели - укажите значение от 0 до 6 (0 - воскресенье) или выберите день недели из выпадающего списка

    Вы можете указать время, используя формат планировщика UNIX. При использовании этого формата Вы можете:

    • ввести несколько значений, разделенных запятой. Два числа, разделенных дефисом, означают диапазон, который включает крайние значения. Например, чтобы настроить запуск задачи на 4, 5, 6 и 20 числа месяца, введите 4-6,20.
    • вставить символ звездочки, чтобы выбрать все значения, допустимые для этого поля. Например, чтобы задача выполнялась ежедневно, введите символ * в поле Дни месяца .

    Для того чтобы запланировать выполнение задачи каждый N-й период, введите комбинацию */N, где N допустимое значение для этого поля (минута, час, день, месяц). Например, если вы введете */15 в поле Минуты , задача будет выполняться каждые 15 минут.

    Вы можете ввести сокращенное название месяца или дня недели, которые представляют собой первые три буквы полного названия: Авг, Июл, Пон, Суб и т.д. Однако не допускается разделять сокращенные названия с помощью запятой или использовать их вместе с числами.

  5. Укажите в поле Команда ~/private/pack_zope_db.sh
  6. Нажмите OK.

Если у Вас возникнут вопросы по проведению этих операций - обратитесь к сотрудникам круглосуточной Службы технической поддержки хостинга.

Материал для сайтов на тарифных планах Zope/Plone хостинга .

Вам также может помочь