Warning: This page has not been updated in over over a year and may be outdated or deprecated.
administration:solr_replication
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
vufind2:solr_replication [2013/12/06 15:37] – bemosior | administration:solr_replication [2015/12/14 19:05] – ↷ Page moved from vufind2:solr_replication to administration:solr_replication demiankatz | ||
---|---|---|---|
Line 28: | Line 28: | ||
</ | </ | ||
- | ===== AlphaBrowse ===== | + | ===== pull-browse.sh (AlphaBrowse |
+ | |||
+ | A Bash script to pull browse indexes from another host. The idea is that if you are running a Solr slave to keep the indexing load away from searches, you probably want to do the same for the alphabetical browse indexes. | ||
+ | |||
+ | < | ||
+ | # | ||
+ | # Tod Olson < | ||
+ | # Much is stolen shamelessly from scripts by Keith Waclena | ||
+ | # | ||
+ | # Copy browse index from a remote host to local host via scp. Sets up | ||
+ | # the .db-ready file semaphore and calls browse handler to move the | ||
+ | # index into place. | ||
+ | # | ||
+ | |||
+ | ME=`basename $0 .sh` | ||
+ | |||
+ | USAGE=" | ||
+ | HELP=" | ||
+ | -H: print this help message | ||
+ | -B: use scp batch and quiet modes | ||
+ | -V: VUFIND_HOME on remote host (if different from localhost) | ||
+ | -t: testing only - NYI | ||
+ | |||
+ | ARGUMENTS: | ||
+ | | ||
+ | SSH-style user@host syntax | ||
+ | | ||
+ | |||
+ | ENVIRONMENT | ||
+ | The following variables must be set: | ||
+ | |||
+ | | ||
+ | TAB=" | ||
+ | |||
+ | TESTING=false | ||
+ | |||
+ | # prerequisites | ||
+ | |||
+ | prereqs () | ||
+ | { | ||
+ | | ||
+ | | ||
+ | for p in $@ | ||
+ | do | ||
+ | if type " | ||
+ | then satisfied=" | ||
+ | else | ||
+ | missing=" | ||
+ | fi | ||
+ | | ||
+ | if [ " | ||
+ | | ||
+ | ( | ||
+ | echo "$ME: missing prerequisites:" | ||
+ | echo " | ||
+ | echo -n "$ME: satisfied prerequisites:" | ||
+ | echo " | ||
+ | ) >& | ||
+ | exit 69 | ||
+ | else : ok | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | noreq () | ||
+ | { | ||
+ | fatal " | ||
+ | } | ||
+ | |||
+ | prereqs scp | ||
+ | |||
+ | # handy functions | ||
+ | |||
+ | usage () { | ||
+ | echo " | ||
+ | case " | ||
+ | '' | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | nyi () { | ||
+ | echo "$1: not yet implemented" | ||
+ | exit 2 | ||
+ | } | ||
+ | |||
+ | warning () { | ||
+ | echo " | ||
+ | } | ||
+ | |||
+ | fatal () { | ||
+ | if expr " | ||
+ | then X=$1; shift | ||
+ | else X=1 | ||
+ | fi | ||
+ | echo " | ||
+ | exit $X | ||
+ | } | ||
+ | |||
+ | prefix () { | ||
+ | if $TESTING | ||
+ | then echo " | ||
+ | else echo " | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | # | ||
+ | # Check environment | ||
+ | # | ||
+ | if [ -z " | ||
+ | then | ||
+ | fatal " | ||
+ | fi | ||
+ | |||
+ | REMOTE_VUFIND_HOME=" | ||
+ | SCP_BATCH="" | ||
+ | SSH_QUIET="" | ||
+ | |||
+ | while true | ||
+ | do | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | done | ||
+ | [ $# -eq 2 ] || usage 1 | ||
+ | REMOTE_HOST=$1 | ||
+ | INDEX=$2 | ||
+ | |||
+ | # | ||
+ | # Main | ||
+ | # | ||
+ | |||
+ | INDEX_BASE=${INDEX}_browse | ||
+ | REMOTE_BASE=$REMOTE_VUFIND_HOME/ | ||
+ | LOCAL_BASE=$VUFIND_HOME/ | ||
+ | |||
+ | # .db-ready is the signal that .db-updated is complete, but | ||
+ | # .db-updated could move into place and .db-ready could be deleted at | ||
+ | # any time | ||
+ | if ssh $SSH_QUIET $REMOTE_HOST test -f ${REMOTE_BASE}.db-ready | ||
+ | then | ||
+ | scp ${SCP_BATCH} -p ${REMOTE_HOST}: | ||
+ | scp ${SCP_BATCH} -p ${REMOTE_HOST}: | ||
+ | else | ||
+ | scp ${SCP_BATCH} -p ${REMOTE_HOST}: | ||
+ | fi | ||
+ | |||
+ | if [ $? -ne 0 ] | ||
+ | then | ||
+ | fatal " | ||
+ | fi | ||
+ | |||
+ | touch ${LOCAL_BASE}.db-ready && | ||
+ | curl " | ||
+ | |||
+ | # Local Variables: | ||
+ | # End: | ||
+ | |||
+ | </ | ||
---- struct data ---- | ---- struct data ---- | ||
---- | ---- | ||
administration/solr_replication.txt · Last modified: 2020/09/22 13:29 by demiankatz