2017-09-28 14 views
1

に書き込むための権限がありませんが、このコマンドを実行しました:MongoDBのデータのrsync

oc rsync local/path/to/mongodump <mongodb_pod_name>:/var/lib/mongodb/data 

は、この出力ました:

sent 31,825,902 bytes received 273 bytes 1,720,333.78 bytes/sec 
total size is 31,817,949 speedup is 1.00 
rsync: failed to set permissions on "/var/lib/mongodb/data/." (in root): 
Operation not permitted (1) 
rsync: failed to modify permissions on "/var/lib/mongodb/data/." (in root): 
Operation not permitted (1) 
rsync error: some files/attrs were not transferred (see previous errors) 
(code 23) at main.c(1165) [sender=3.1.1] 
error: exit status 23 

を、私は

$ oc rsh <mongodb_pod> $ cd /var/lib/mongodb/data/mongodump

を実行しようとすると、私が取得します許可が拒否されました

答えて

0

試してください:それは、特定の場合のためにそのオプションの必要性に言及し

oc rsync --no-perms 

はでコンテナの中と外のファイル転送についての例のチュートリアルを参照してください。

私はあなたがmongodbにロードすると推測しているダンプファイルですので、/tmpにコピーしてそこからmongodbをロードするほうが良いかもしれません。その後、コンテナを再起動すると、/tmpのファイルが破棄されるため、削除する必要はありません。

+0

ありがとうございます。私はあなたの解決策を試みたが成功しなかった。 ガットエラー:「change_dir#1の/ var/libに: - : - 49420 増分ファイルリストに のrsyncを送信するための接続を処理> 48223 '127.0.0.1:49420から転送[:: 1]から> 48223 フォワーディング/ mongodb/data/temp "(ルート))が失敗しました:パーミッションが拒否されました(0123) :接続が予期せず閉じられました(送信された194バイト)[送信側] rsyncエラー:io.c(235)のrsyncプロトコルデータストリーム(コード12)でエラーが発生しました[送信側= 3.1.1] エラー:終了ステータス12 ' –

+0

どのようにmongodbを配備していますか? Docker Hubでいわゆるmongodbイメージを使用していますか? Docker Hubの画像は、コンテナを '' root''として実行することを期待しているので、しばしば動作しません。 '' Add to Project''を選択するときはOpenShiftウェブコンソールカタログの '' mongodb-persistent''テンプレートを使うべきです。 –

+0

mongo-persistentオプションを選択しました。テンプレート上の何かを変更する必要がありますか? –