Last active
November 15, 2015 12:54
-
-
Save YuzuruSano/f5f22df9ec5b93cf44d1 to your computer and use it in GitHub Desktop.
【concrete5 5.7 + mamp想定】リモートのMySQLとapplication/files同期シェルスクリプトのサンプル
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# sync_db_sample | |
# リモートのDB同期とapplication/files取得 | |
# リモートでユーザーが投稿テストしつつ、各種設定も進めつつ、自分はmampで開発する、みたいな場合を想定 | |
# sshpassコマンドが利用できること | |
# mysqlコマンドが利用できること | |
# pvコマンドが利用できること(Pipe Viewerをインストール 進捗表示要らないのであれば不要) | |
#DBをリモードと同期 | |
#sshpass用のパスワード | |
SERVERPASS='sshpassword' | |
#sshpポート | |
PORT='22' | |
#取得元のホスト | |
FROMHOST='fromhost' | |
#取得元DBユーザー | |
FROMUSER='fromdbuser' | |
#取得元DBパスワード | |
FROMPASWORD='fromdbpas' | |
#取得元DB名 | |
FROMDBNAME='fromdbname' | |
#ローカルバックアップ先 | |
BACKUPTO='yourpath/your.sql' | |
#ローカルDBホスト ※mampなのでソケット指定 | |
MYSQLIMPORTTO='-S /Applications/MAMP/tmp/mysql/mysql.sock' | |
#ローカルDBユーザー | |
IMPORTUSER='localuser' | |
#ローカルDBパスワード | |
IMPORTPASS='localpass' | |
#ローカルDB名 | |
IMPORTDBNAME='localdbname' | |
sshpass -p ${SERVERPASS} ssh -p ${PORT} ${FROMHOST} "mysqldump -P 3306 -u${FROMUSER} -p${FROMPASWORD} --single-transaction ${FROMDBNAME}" > ${BACKUPTO} | |
pv ${BACKUPTO} | mysql ${MYSQLIMPORTTO} -u${IMPORTUSER} -p${IMPORTPASS} ${IMPORTDBNAME} | |
#ここからアップロードディレクトリ(application/files)の取得 | |
#転送先 環境に合わせて変更 | |
TO="/your_concrete5/application/files" | |
#転送元 自身の環境にあわせて変更 | |
FROM="username@hostip:/your_remote_concrete5/application/files/" | |
#まずはDRY RUNしてね | |
sshpass -p ${SERVERPASS} rsync -avn --delete ${FROM} ${TO} | |
#sshpass -p ${SERVERPASS} rsync -av --delete ${FROM} ${TO} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment