- dotcloudにアップしたデータをバックアップする。
- 最初の数行、NAME_SPACE,DEPLOYMENT,SSH_PORT ぐらい変更すれば動作するはず。
- 別にcode/以下はバックアップ取れてるよって場合はデータ置き場を指定すればdotcloud上のデータのバックアップとして使える。
- SSH_PORTは dotcloud info ymko.node で表示されるポートのこと
set -e
NAME_SPACE=node
DEPLOYMENT=ymko
SSH_PORT=xxxx
REMOTEHOST_TARGET_DIR=code/
LOCALHOST_BACKUP_DIR=/tmp
IDENTITY_FILE=$HOME/.dotcloud/dotcloud.key
BACKUP_NAME=${NAME_SPACE}.${DEPLOYMENT}.$(date +%Y-%m-%d_%H%M%S).tar.gz
ssh dotcloud@${NAME_SPACE}.${DEPLOYMENT}.dotcloud.com \
-p ${SSH_PORT} \
-i ${IDENTITY_FILE} \
tar cfzh /tmp/${BACKUP_NAME} ${REMOTEHOST_TARGET_DIR}
scp -P ${SSH_PORT} \
-i ${IDENTITY_FILE} \
-q \
dotcloud@${NAME_SPACE}.${DEPLOYMENT}.dotcloud.com:/tmp/${BACKUP_NAME} \
${LOCALHOST_BACKUP_DIR}
echo "Backup Success!! ${LOCALHOST_BACKUP_DIR}/${BACKUP_NAME}"
// sshのポート番号を調べる
$ dotcloud info ymko.node
build_revision: rsync-1307827898.94
cluster: wolverine
config: {}
created_at: xxxxxxxxxxxxxxxxxxxx
namespace: ymko
ports:
- name: ssh
url: ssh://dotcloud@node.ymko.dotcloud.com:xxxx <- ここ
- name: http
url: http://node.ymko.dotcloud.com/
state: running
type: nodejs
// ssh ログインできる(=dotcloud ssh ua.ymko のコマンドと同じ)
$ ssh dotcloud@node.ymko.dotcloud.com -p xxxx -i ~/.dotcloud/dotcloud.key
// コマンドも実行できる
$ ssh dotcloud@node.ymko.dotcloud.com -p xxxx -i ~/.dotcloud/dotcloud.key \
tar zcfh backup.tar.gz code/
// これを応用してscpを使う
$ scp -P xxxx -i ~/.dotcloud/dotcloud.key \
dotcloud@node.ymko.dotcloud.com:/home/dotcloud/backup.tar.gz .