/src/scripts/zotonic-copysite
https://code.google.com/p/zotonic/ · #! · 51 lines · 46 code · 5 blank · 0 comment · 0 complexity · df98313a9982841d821767cf34631b98 MD5 · raw file
- #!/usr/bin/env bash
- #
- # Copyright 2011 Lloyd R. Prentice
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- # usage zotonic-copysite [site_name] [source_server]
- #
- SITE=$1
- SERVER=$2
- if [ ! $SITE ]
- then
- echo USAGE: $0 [site_name] [source_server] 1>&2
- echo USAGE: See ZotonicCommands.txt 1>&2
- else
- if [ ! $SERVER ]
- then
- echo USAGE: $0 [site_name] [source_server] 1>&2
- else
- ssh $SSH_OPTIONS zotonic@$SERVER "$ZOTONIC_BIN/zotonic snapshot $SITE"
- rsync -ae "ssh $SSH_OPTIONS" zotonic@$SERVER:$SITES/$SITE/ \
- --include=files/archive \
- --include=files/backup \
- --include=files/snapshot \
- --include=files \
- --exclude=files/* \
- $SITES/$SITE
- PANIC_FILE=`tempfile`
- pg_dump zotonic_$SITE > $PANIC_FILE
- echo "To restore if this goes wrong: psql zotonic_$SITE < $PANIC_FILE"
- echo "\pset tuples_only on
- SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'" \
- | psql zotonic_$SITE --quiet | xargs -i echo 'DROP TABLE {} CASCADE;' | psql zotonic_$SITE
- psql zotonic_$SITE < $SITES/$SITE/files/snapshot/zotonic_$SITE.sql
- fi
- fi