лучший способ переиндексации сфинкса в Ubuntu Hardy - PullRequest
2 голосов
/ 02 августа 2009

Я работаю с ломтиком Ubuntu Hardy. Я установил sphinx, и я хотел бы запускать индексатор sphinx каждые x минут. Каков наилучший способ сделать это?

Ответы [ 2 ]

5 голосов
/ 03 августа 2009

Стандартный подход Unix - cron, так что вы можете, например, отредактировать /etc/crontab и добавить строку типа

*/5 * * * *     root    sphynx [whatever other options you need]

что означает

  • «каждые пять минут» (для части * / 5)
  • каждого часа (* в позиции 2)
  • каждого дня месяца (* в позиции 3)
  • каждого месяца (* в позиции 4)
  • каждого дня недели (финал * в позиции 5)

Другой пример: «4 5 * * 6» равняется «в 5:04 (четыре минуты пятого) каждую субботу (день недели 6).

Возможно, вам понадобится или вы захотите переключить пользователя с root на, скажем, www-data, как sphynx, и вам, очевидно, нужно настроить аргументы.

Наконец, посмотрите в каталогах

$ ls -1d /etc/cron.*
/etc/cron.d
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly

для примеров --- другие пакеты помещают свои задания туда (и этот механизм более общий и более новый, чем прямое редактирование /etc/crontab.

2 голосов
/ 16 сентября 2011

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

* *     /1 * *  root    cd /home/sphinx && bin/indexer --all --rotate && bin/searchd --stop && bin/searchd
...