我在多节点设置中运行OpenShift Enterprise 2.0。我正在运行一个简单的JBoss缩放应用程序(3个齿轮,所以HAProxy和2个JBoss齿轮)。我在.openshift / action_hooks中使用了pre_start_jbossews脚本来配置详细的GC日志记录(仅使用gc.log作为文件名)。但是,我无法弄清楚如何从运行JBoss的齿轮中获取gc.log文件。
[有趣的是,head / parent gear(运行HAProxy)中有一个空的gc.log文件。看起来有一个java进程在那里启动,这可能是一个bug。]
我试图运行
rhc scp <appname> download . jbossews/gc.log --gears
希望它可以像ssh --gears选项一样实现,但它只是告诉我“无效选项”。所以我的问题是,我怎样才能真正从儿童装备下载日志?
答案 0 :(得分:1)
我不认为你可以直接使用RHC来获得你想要的东西。
但是,您可以使用以下内容查找所有GEARS:
rhc app show APP_NAME --gears | awk '{print $5}' | tail -n +3
从此列表中,您可以列出该应用程序中每个齿轮的所有日志。
for url in $(rhc app show APP_NAME --gears | awk '{print $5}' | tail -n +3); do for dir in $(ssh $url "ls -R | grep -i log.*:"); do echo -n $url:${dir%?}; echo; done; done
有了这个,您可以使用简单的scp命令从所有齿轮中获取所需的文件:
for file_dir in $(for url in $(rhc app show APP_NAME --gears | awk '{print $5}' | tail -n +3); do for dir in $(ssh $url "ls -R | grep -i log.*:"); do echo -n $url:${dir%?}; echo; done; done); do scp "$file_dir/*" .; done
答案 1 :(得分:1)
如果您需要下载任何文件,可以使用FileZilla等SFTP客户端,以便从服务器复制文件。
答案 2 :(得分:0)
我知道自原始问题发布以来已经有一段时间了,但我今天刚刚遇到同样的问题,发现如果你知道齿轮SSH URL,你可以直接使用scp命令:
scp local_file user@gear_ssh:remote_file
将文件上传到装备,或
scp user@gear_ssh:remote_file local_file
从下载。