Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- PWD=`pwd`
- SOURCEPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )"
- WORKSPACEPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd ../.. && pwd )"
- TARGET_HOST=latest.example.org
- TARGET_PORT=22
- TARGET_USER=www-data
- TARGET_PATH=/home/www-data/typo3-latest/releases/current/
- TARGET_DBNAME=t3_latest
- TARGET_DBUSER=t3_latest
- TARGET_DBHOST=127.0.0.1
- TARGET_DBPASSWORD=mySuperSecretPassword
- SOURCE_HOST=live.example.org
- SOURCE_PORT=22
- SOURCE_USER=www-data
- SOURCE_PATH=/home/www-data/typo3-live/releases/current/
- SOURCE_DBNAME=t3_live
- SOURCE_DBUSER=t3_live
- SOURCE_DBHOST=127.0.0.1
- SOURCE_DBPASSWORD=anotherSuperSecretPassword
- # Copy fileadmin/uploads from source to target
- ssh ${TARGET_USER}@${TARGET_HOST} -p${TARGET_PORT} -o ForwardAgent=yes "rsync -avz -e \"ssh -p${SOURCE_PORT}\" --delete-after ${SOURCE_USER}@${SOURCE_HOST}:${SOURCE_PATH}web/fileadmin/ ${TARGET_PATH}web/fileadmin" || exit 101
- ssh ${TARGET_USER}@${TARGET_HOST} -p${TARGET_PORT} -o ForwardAgent=yes "rsync -avz -e \"ssh -p${SOURCE_PORT}\" --delete-after ${SOURCE_USER}@${SOURCE_HOST}:${SOURCE_PATH}web/uploads/ ${TARGET_PATH}web/uploads" || exit 102
- # Delete all existing tables in target
- ssh ${TARGET_USER}@${TARGET_HOST} -p${TARGET_PORT} "mysql --host=\"${TARGET_DBHOST}\" --user=\"${TARGET_DBUSER}\" --password=\"${TARGET_DBPASSWORD}\" --silent --skip-column-names -e \"SHOW TABLES;\" ${TARGET_DBNAME} | xargs -L1 -I% echo 'SET FOREIGN_KEY_CHECKS = 0; DROP TABLE \`%\`;' | mysql --host=\"${TARGET_DBHOST}\" --user=\"${TARGET_DBUSER}\" --password=\"${TARGET_DBPASSWORD}\" ${TARGET_DBNAME}" || exit 201
- # Copy database from source to target
- ssh ${TARGET_USER}@${TARGET_HOST} -p${TARGET_PORT} -o ForwardAgent=yes "ssh ${SOURCE_USER}@${SOURCE_HOST} -p${SOURCE_PORT} \"mysqldump --host=\\\"${SOURCE_DBHOST}\\\" --user=\\\"${SOURCE_DBUSER}\\\" --password=\\\"${SOURCE_DBPASSWORD}\\\" ${SOURCE_DBNAME}\" > ${SOURCE_DBNAME}.sql" || exit 301
- ssh ${TARGET_USER}@${TARGET_HOST} -p${TARGET_PORT} "cat ${SOURCE_DBNAME}.sql | mysql --host=\"${TARGET_DBHOST}\" --user=\"${TARGET_DBUSER}\" --password=\"${TARGET_DBPASSWORD}\" ${TARGET_DBNAME}" || exit 302
- ssh ${TARGET_USER}@${TARGET_HOST} -p${TARGET_PORT} "rm ${SOURCE_DBNAME}.sql" || exit 303
- ssh ${TARGET_USER}@${TARGET_HOST} "cd ${TARGET_PATH} && Build/init.sh" || exit 401
- echo done.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement