首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生产中的大型日志文件

生产中的大型日志文件
EN

Stack Overflow用户
提问于 2013-02-08 05:24:34
回答 3查看 157关注 0票数 0

我有一个Rails 3应用程序在生产中,生产日志是巨大的。我可以安全地删除它并允许Rails生成另一个吗?我是否必须重新启动Rails应用程序或重新部署?我需要触摸production.log吗?

这东西有300mb大小,我想杀了它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-09 06:37:39

代码语言:javascript
复制
/home/deploy/appname/current/log/*.log {
  daily
  missingok
  rotate 7
  compress
  delaycompress
  notifempty
  copytruncate
}

使用logrotate与上述配置,它工作得很好。

票数 0
EN

Stack Overflow用户

发布于 2013-02-08 05:33:45

将任何时候的gem添加到gem文件中

代码语言:javascript
复制
gem "whenever", "~> 0.7.2", require: false

并创建一个and任务来执行此操作

示例在您的rails应用程序上运行wheneverize命令它将在您的schedule.rb目录中为您创建一个配置文件,您可以向其中添加一个任务,如下所示

代码语言:javascript
复制
every 1.day, :at => '4:30 am' do
  rake "log:clear"
end

如果您使用capistrano进行部署,请将以下代码添加到您的deploy.rb

代码语言:javascript
复制
set :whenever_command, "bundle exec whenever"

这将在任何时候为您自动设置。

票数 1
EN

Stack Overflow用户

发布于 2013-02-09 03:01:43

您可以随时删除日志,而不必担心应用程序。理想情况下,您应该轮换这些日志,以防止它们变得太大。您可以使用logrotate来完成此操作。对于ubuntu,应该是这样的(取自this question):

代码语言:javascript
复制
    /path/to/rails.example.com/tmp/log/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        copytruncate
    }

Here是详细信息的logrotate手册页,尽管其说明有些不言自明。

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

https://stackoverflow.com/questions/14761260

复制
相关文章

相似问题

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