首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加我自己的日志记录旋转/S3备份亚马逊弹性豆茎?

如何添加我自己的日志记录旋转/S3备份亚马逊弹性豆茎?
EN

Stack Overflow用户
提问于 2017-11-23 11:32:06
回答 1查看 2.3K关注 0票数 7

我们有一个PHP应用程序,它生活在AmazonElasticBean秸秆上。应用程序启用了日志旋转和对S3的备份。Apache访问和错误日志每小时都会得到正确的旋转和备份。

但是,应用程序还会创建自己的日志文件。我想对它做同样的事情--每小时它都应该被旋转并备份到S3。按照这里的说明,我创建了以下文件:

.ebextensions/publish-logs.config

代码语言:javascript
复制
files: 
  "/opt/elasticbeanstalk/tasks/publishlogs.d/cloud-init.conf" :
    mode: "000755"
    owner: root
    group: root
    content: |
      /var/app/current/log/*.log

然后我把新版本上传到了亚马逊。

结果-我看到日志文件在第一次旋转时被备份到S3一次。而且它没有被拉链,只是复制而已。在那之后什么都没有。没有对S3的新备份。不旋转。当下载包日志时,该文件就在那里,它现在拥有大约80 in的荣耀(经过几天的积累)。

亚马逊的文档非常稀少。但它确实说:

当您为日志旋转配置应用程序的日志文件时,应用程序不需要创建日志文件的副本。弹性Bean秸秆将日志旋转配置为为每次旋转创建应用程序日志文件的副本。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-29 23:15:53

要做到这一点,您需要配置日志旋转,这有点棘手。由于高度依赖于您正在使用的实例。但让我试试。将这两个files添加到您的配置中。第一,创建日志旋转配置;第二,配置cron,以便使用该配置运行日志旋转。

代码语言:javascript
复制
files:
    "/etc/logrotate.d/logrotate.elasticbeanstalk.php.conf":
        mode: "000655"
        owner: root
        group: root
        content: |
            /var/app/current/log/*.log {
                rotate 14
                size 100M
                daily
                compress
                delaycompress
            }
    "/etc/cron.daily/cron.logrotate.elasticbeanstalk.php.conf":
        mode: "000655"
        owner: root
        group: root
        content: |
            #!/bin/sh
            test -x /usr/sbin/logrotate || exit 0
            /usr/sbin/logrotate /etc/logrotate.d/logrotate.elasticbeanstalk.php.conf
            /sbin/service awslogs restart

试试看。如果失败-请提供您正在使用的AMI ID

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47454520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档