1

我在多节点设置中运行 OpenShift Enterprise 2.0。我正在运行一个简单的 JBoss 缩放应用程序(3 个齿轮,所以 HAProxy 和 2 个 JBoss 齿轮)。我在 .openshift/action_hooks 中使用了 pre_start_jbossews 脚本来配置详细的 GC 日志记录(仅 gc.log 作为文件名)。但是,我不知道如何从运行 JBoss 的齿轮中获取 gc.log 文件。

[有趣的是,头/父齿轮(运行HAProxy)中有一个空的gc.log文件。看起来那里启动了一个 java 进程,这可能是一个错误。]

我试着跑

rhc scp <appname> download . jbossews/gc.log --gears

希望它能像 ssh --gears 选项一样实现,但它只是告诉我“无效选项”。所以我的问题是,我怎样才能真正从子齿轮下载日志?

4

3 回答 3

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
于 2014-05-09T19:56:46.350 回答
1

如果你需要下载任何文件,你可以使用像 FileZilla 这样的 SFTP 客户端,这样你就可以从服务器上复制文件。

于 2014-07-29T06:01:49.343 回答
0

我知道距离最初的问题发布已经有一段时间了,但是我今天遇到了同样的问题,发现如果您知道齿轮 SSH URL,则可以直接使用 scp 命令:

scp local_file user@gear_ssh:remote_file

将文件上传齿轮,或

scp user@gear_ssh:remote_file local_file

齿轮下载。

于 2016-05-27T03:54:58.410 回答