如何从儿童装备下载日志

时间:2014-05-09 18:07:17

标签: openshift openshift-client-tools

我在多节点设置中运行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选项一样实现,但它只是告诉我“无效选项”。所以我的问题是,我怎样才能真正从儿童装备下载日志?

3 个答案:

答案 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

从下载