aboutsummaryrefslogtreecommitdiffstats
path: root/script/compact-xapian-database
blob: 5c12b5daecbcf966e3cc783be664b3e8839b7fa7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash

RAILS_ENV=$1
set -e
if [ -x /usr/bin/xapian-compact ]; then
    XAPIAN_DB_DIR="$( cd "$( dirname "$0" )" && pwd )/../vendor/plugins/acts_as_xapian/xapiandbs"
    OWNER=`stat -c %U $XAPIAN_DB_DIR/$RAILS_ENV`
    su -c "xapian-compact $XAPIAN_DB_DIR/$RAILS_ENV $XAPIAN_DB_DIR/$RAILS_ENV.new" $OWNER
    mv $XAPIAN_DB_DIR/$RAILS_ENV $XAPIAN_DB_DIR/$RAILS_ENV.tmp
    mv $XAPIAN_DB_DIR/$RAILS_ENV.new $XAPIAN_DB_DIR/$RAILS_ENV
    rm -rf $XAPIAN_DB_DIR/$RAILS_ENV.tmp
    /etc/init.d/apache2 restart
else
    echo "Could not find xapian-compact script; have you installed xapian-tools?"
    exit 1
fi