自动从 PCF 下载或备份生成的文件

Download or Backup a generated file from PCF automatically

我们有一个在 PCF 上 运行 的微服务应用程序。 一些微服务能够在其日志文件夹中生成日志文件。 有没有办法自动下载这些日志文件并将其保存到共享文件夹或远程容器(如 google 驱动器等)?

非常感谢您的建议。

谢谢。

在完美世界中,您不会将需要保留的内容写入本地文件系统。可以编写可以简单地重新创建的缓存文件或工件,但不应将任何重要内容放在那里。

https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#filesystem

暴露给您的应用程序的本地文件系统是短暂的,即使在很短的时间内将重要的东西存储在那里也不安全。您当然可以尝试设置一个定期 运行s 的进程,并将日志文件从您的容器发送到其他地方。但是,当您的应用程序崩溃时,您将丢失日志消息,可能是说明您的应用程序崩溃原因的重要消息,因为在清理容器之前,您的同步过程没有时间 运行。

您要做的是配置您的应用程序以将其日志写入 STDOUT 或 STDERR。

https://docs.cloudfoundry.org/devguide/deploy-apps/streaming-logs.html#writing

写入 STDOUT/STDERR 的任何内容都会被平台自动捕获并发送到您的应用程序的日志流中。然后,您可以将日志流发送到各种持久位置。

https://docs.cloudfoundry.org/devguide/services/log-management.html

大多数应用程序都可以轻松配置为写入 STDOUT/STDERR。你已经在这个 post 上标记了 spring-boot,所以我假设你的应用程序是 运行ning Spring Boot。默认情况下,Spring 引导应记录到 STDOUT/STDERR,因此您无需执行任何操作。

但可能发生的情况是您的应用开发人员专门配置了应用以将日志发送到文件。在应用程序的 src/main/resources/application.propertiesapplication.yml 文件中查找属性 logging.file.pathlogging.file.name。如果存在,请注释掉或删除它们。那应该使您的日志成为 STDOUT/STDERR.

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-logging-file-output