blob: f1a6058b03d48352777f88986728182aec6269fb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/bin/bash
export 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
if [ -e "$XAPIAN_DB_DIR/$RAILS_ENV.new" ]; then
echo >&2 "Didn't compact Xapian database because there was an existing database at $XAPIAN_DB_DIR/$RAILS_ENV.new"
exit 1
else
OWNER=$(stat -c %U "$XAPIAN_DB_DIR/$RAILS_ENV")
export XAPIAN_DB_DIR RAILS_ENV
su "$OWNER" <<SU
xapian-compact "\$XAPIAN_DB_DIR/\$RAILS_ENV" "\$XAPIAN_DB_DIR/\$RAILS_ENV.new"
SU
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
fi
else
echo >&2 "Could not find xapian-compact script; have you installed xapian-tools?"
exit 1
fi
|