现在,Openshift在可扩展应用程序中的齿轮之间没有任何同步机制。我知道使用共享数据库,但它不是我的选择。
我需要OPENSHIFT_DATA_DIR中的某个文件夹在某些事件中进行同步。我认为我可以使用rsync来达到目的,正如这里所述,它是可能的。
https://www.openshift.com/forums/openshift/easy-way-to-move-files-between-my-gears
但我没有设法做到这一点。我在1档上生成了ssh键,使用Web控制面板添加了它们。 我怎么能说我想将文件复制到远程$ OPENSHIFT_DATA_DIR。但即使我用变量的远程值替换$ OPENSHIFT_DATA_DIR,它也不起作用。
[tomcb-chicout.rhcloud.com data]\> rsync -i /var/lib/openshift/53e0d7304382ecb3
b70000c4/app-root/data/.ssh/rsync -avzhe /var/lib/openshift/53e0d7304382ecb3b70
000c4/app-root/data/test 53e0d7b4e0b8cd7a1f000069@10.147.167.151:/var/lib/opens
hift/53e0d7b4e0b8cd7a1f000069/app-root/data/
rsync: Failed to exec /var/lib/openshift/53e0d7304382ecb3b70000c4/app-root/data/
test: Permission denied (13)
rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=
3.0.6]
答案 0 :(得分:0)
这对我有用:
[tomcb-chicout.rhcloud.com data]\> REMOTE_DATA=$(ssh 53e0d7b4e0b8cd7a1f000069@53e0d7b4e0b8cd7a1f000069-chicout.rhcloud.com 'echo $OPENSHIFT_DATA_DIR')
[tomcb-chicout.rhcloud.com data]\> rsync -avzhe ssh /var/lib/openshift/53e0d730
4382ecb3b70000c4/app-root/data/test 53e0d7b4e0b8cd7a1f000069@53e0d7b4e0b8cd7a1f
000069-chicout.rhcloud.com:/$REMOTE_DATA
sending incremental file list</code>
sent 82 bytes received 12 bytes 188.00 bytes/sec
total size is 12 speedup is 0.13</code>