diff options
author | David Cabo <david@calibea.com> | 2011-08-17 11:05:21 +0200 |
---|---|---|
committer | David Cabo <david@calibea.com> | 2011-08-17 11:05:21 +0200 |
commit | 817ce18d16d037aadc5ea44d93854c6e17f06747 (patch) | |
tree | 1820f4a62c1060063e0b9751473eca9610142598 /script/compact-xapian-database | |
parent | 0ca78b7c2abfe28ef7acd7137fda5d82a973c2e1 (diff) | |
parent | e1a2e1ad36c6b0c7bfac501eb2a0d0ae5efd05a1 (diff) |
Merge branch 'fixes' into asktheeu
Diffstat (limited to 'script/compact-xapian-database')
-rwxr-xr-x | script/compact-xapian-database | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/script/compact-xapian-database b/script/compact-xapian-database index 5c12b5dae..f1a6058b0 100755 --- a/script/compact-xapian-database +++ b/script/compact-xapian-database @@ -1,16 +1,25 @@ #!/bin/bash -RAILS_ENV=$1 +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" - 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 + 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 "Could not find xapian-compact script; have you installed xapian-tools?" + echo >&2 "Could not find xapian-compact script; have you installed xapian-tools?" exit 1 -fi
\ No newline at end of file +fi |