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 して終了。