犬ターネット

OpenShift で mongodump 使えなくなったからポートフォワーディングして対処した

2014-09-18 openshift

OpenShift に ssh ログインして mongodump 実行したら bash: mongodump: command not found て出た。いつのまに使えなくなったんだろう…

仕方ないからポートフォワーディング使って対処した。以下手順。

------

まずローカルに MongoDB インストールして mongodump のパス通しておく。

次にターミナルから以下実行して MongoDB のユーザ名/パスワード/DB名をメモっておく。

> rhc app-show アプリケーション名
mongodb-2.4 (MongoDB 2.4)
-------------------------
Gears:          Located with xxxxx
Connection URL: mongodb://xxxx:xxxx/
Database Name:  DB名
Password:       パスワード
Username:       ユーザ名

次に以下コマンドでポートフォワーディング実行。ローカルポートが OpenShift サーバ側に紐づけられる。

> rhc port-forward -a アプリケーション名
Checking available ports ... done
Forwarding ports ...

To connect to a service running on OpenShift, use the Local address

Service Local                OpenShift
------- --------------- ---- ---------------------
httpd   127.0.0.1:8080   =>  xxx.xxx.xxx.xxx:8080
mongodb 127.0.0.1:27017  =>  xxx.xxx.xxx.xxx:27017

Press CTRL-C to terminate port forwarding

最後に別ターミナル立ち上げて以下実行。これでOpenShift側の MongoDB の dump がローカルに保存される。

> cd /path/to/適当なディレクトリ
> mongodump --username ユーザ名 --password パスワード --db DB名

終わったらポートフォワーディングしてるターミナルを CTRL-C して終了。


記憶喪失

リンゴ病