Cloud foundry 是否可以在CloudFoundry中下载应用程序的所有文件?
是否可以将应用程序的文件下载到我的本地PC上,即执行与“推送”相反的操作?我不久前写了这篇Ruby Gist,它仍然可以工作,只需稍加调整或保持原样Cloud foundry 是否可以在CloudFoundry中下载应用程序的所有文件?,cloud-foundry,Cloud Foundry,是否可以将应用程序的文件下载到我的本地PC上,即执行与“推送”相反的操作?我不久前写了这篇Ruby Gist,它仍然可以工作,只需稍加调整或保持原样 我使用这个简单的脚本下载我应用程序中的所有日志文件,您可以调整它以获取应用程序文件夹中的所有内容 mkdir -p <appName>/app/data/logs for i in `cf files <appName> app/data/logs | awk '{print $1}'`; do c
我使用这个简单的脚本下载我应用程序中的所有日志文件,您可以调整它以获取应用程序文件夹中的所有内容
mkdir -p <appName>/app/data/logs
for i in `cf files <appName> app/data/logs | awk '{print $1}'`;
do cf files <appName> app/data/logs/$i > <appName>/app/data/logs/$i; done
mkdir-p/app/data/logs
对于'cf files app/data/logs | awk'{print$1}'中的i;
执行cf文件app/data/logs/$i>/app/data/logs/$i;完成
最新版本的cf
()通过使用下载插件简化了这一过程:
更多详细信息,请访问
编辑
正如Dharmi所指出的,只要您的应用程序成功完成了登台(即构建包运行并完成),Diego后端就无法使用此功能。您应该能够下载由CF构建的droplet,该droplet将包含您的应用程序代码等内容 例:
$cf应用程序&
更新(2019年10月2日)
确保使用cf curl
的--output
标志。如果您只是将cf curl
的输出重定向到一个文件,您将在您的drop(或其他下载)的末尾得到一个额外的行尾字符。对于二进制下载,这可能会导致问题。有些工具只是忽略了额外的字符,如tar
,但如果使用cf push--droplet
上传一个droplet,则会导致应用程序失败
更新(2018年7月13日)
现在还有cf local
,这是一个cf cli插件,可以做很多事情。它允许您轻松地导出和导入液滴。这可能是今后最简单的方法
好的,伙计。我也有同样的问题。最简单的方法是SSH上的SCP
为了尽可能地简化这个过程,我将以下步骤放在下面
毕竟
我想您的环境中已经安装了“Cf cli”。
请参见以下内容:
现在要登录到Cloud foundry SSH,我们需要做一些事情:
在IBM应用程序中启用ssh
获取SSH主机
获取用户
获取密码
步骤01-启用SSH
见以下官方参考资料:
打开命令或终端写入:
>cf登录-这就像是在说废话
>cf启用ssh应用程序名称
你真的想知道应用程序名!这是最基本的
步骤2-获取服务器主机
嗯。。。如果我必须解释什么是ssh主机,最好从这里回滚。如果没有,请运行命令(小笑话):
cf curl/v2/info
“app_ssh_endpoint”:“ssh.MY-DOMAIN.com:2222”
结果是一个具有许多属性的json。
复制名为“app\u ssh\u endpoint”的字段。
请看“:”之后是用于填写Winscp表单或终端命令的ssh端口
步骤3-连接您的用户名
用户名由“cf:”+“GUID“+”/“+”实例ID”组成
要获取GUID,请运行终端命令:
cf app MY-AWESOME-app--guid
返回一个长id,如:abcdefab-1234-5678-abcd-1234abcd1234
实例ID是您的应用程序实例的序列号。第一个应用程序实例变为“0”
因此,我们将cf:my guid result/0作为用户名
步骤4-获取临时密码
此步骤检索一次性使用过程。就是这个!你只使用一次通行证。布乌特。。。每次连接到服务器或执行命令时,都可以执行此命令
要获取pass run terminal命令,请执行以下操作:
cf ssh代码
返回小密码:abcdefab
在此之后,我建议:
如果您想像我一样下载整个“app/”文件夹,请将其压缩并使用winSCP图形界面或使用“scp”命令通过终端下载
这不是直观的,但可以做到。祝你好运。我似乎没有可用的drop
资源:{“code”:10000,“description”:“未知请求”,“错误代码”:“CF NotFound”}试试这个。因为这将以302作为回应。curl没有遵循重定向。从~/.cf/config.json中找到您的访问令牌并执行以下操作:“wget--header='Authorization:your token'一旦你下载了这个文件,我如何打开它?似乎不是以.zip
的形式打开的。它是一个存档,我记不起它是zip还是tar gzip。如果您运行文件
,它会告诉您。或者,如果您在Windows上,您可以尝试使用存档/提取应用程序打开它。它可能会检测到正确的格式。谢谢!curl命令是在Diego
后端唯一对我有效的命令。对于我(在Windows 7上),下载的文件是一个焦油球(因此,tar xvzf my droplet
将提取文件),显然,这不再有效(cf version 6.12.2-24abed3-2015-07-15T14:20:44+00
)。我得到cf:'file'不是已注册的命令。请参阅“cf帮助”
谢谢,这非常有效,尽管听起来我的电脑要爆炸了。如果应用程序在Diego后端运行,cf-download将无法工作。
$ cf app <app-name> --guid
2836d5fe-35f7-4409-b27b-4ed308152bb4
$ cf curl /v2/apps/2836d5fe-35f7-4409-b27b-4ed308152bb4/droplet/download --output my-droplet