学习网址: http://blog.csdn.net/iiisan/archive/2006/09/05/1180419.aspx
管理rails日志需要两个步骤,首先是使用logrotate工具配置被管理的日志的信息,这样做的目的是实行对日志的管理,其次,我们不可能手动执行logrotate工具,我们需要让系统自动执行这个工具,那么我们需要使用cron工具,该工具可以起到定时执行任务的作用。
提示: 手动执行logrotate工具(当我们配置好logrotate时,可以手动执行以下命令来测试配置好的logrotate是否起作用,其中/etc/logrotate.d/rails是配置好的logrotate信息):
sudo /usr/sbin/logrotate /etc/logrotate.d/rails
一:
1:为指定的文件配置转储参数,该文件要符合如下格式,其中第一行的路径是所要管理的日志的绝对路径
经常需要为指定文件配置参数,一个常见的例子就是每月转储/var/log/wtmp/development.log。为特定文件而使用的参数格式是:
# 注释
/var/log/wtmp/development.log
{
option(s)
}
2 logrotate的具体配置信息(这里的配置信息是指上例的option(s))
daily, weekly, monthly, yearly 日、周、月、年
size 指定大小,默认为byte, k为(kbyte),M为(mbyte)。
rotate 指定备份个数
missingok 没有日志,没关系
nocompress 不需要压缩
compress 压缩为gzip格式
delaycompress 延後压缩直到下一次 rotate,注意compress和delaycompress可以实现延后压缩直到下一次rotate。
nodelaycompress 覆盖delaycompress选项,改为同时压缩
notifempty 如果log文档为空,就不rotate
copytruncate 先複製log檔的內容後,再清空的作法,因為有些程式一定log在本來的檔名,例如rails,保留原来的文档。
nocopytruncate 和copytruncate相比,不保留原来的文档
create 转储日志文件后,创建日志文件
nocreate 转储日志文件后,不创建日志文件
olddir 指定转储后的日志放入的文件夹目录
noolddir 转储后的日志和当前的日志放在同一个目录下
prerotate
/usr/bin/chattr -a /var/log/messages
endscript 指定转储以前的动作
postrotate
/usr/bin/kill -HUP syslogd
/usr/bin/chattr +a /var/log/messages
endscript 指定转储以后的动作
daily 指定转储周期为每天
weekly 指定转储周期为每周
monthly 指定转储周期为每月
include: 从指定的文件夹读取文件的信息,就好像这些信息已经在该文件中一样,例如/etc/logrotate.conf中的include一样,include 指定的文件中的转储参数将覆盖缺省的参数。
二: ubuntu下自动安装了cron,所以我们可以直接打开该工具的配置文件,/etc/crontab,配置信息,具体配置请看以上所提供的网址。其中我在/etc/crontab中直接指定了执行脚本文件(*/1 * * * * root /etc/cron.secondly/logrotate-log,该脚本文件中存放的我需要手动执行的命令/usr/sbin/logrotate /etc/logrotate.d/rails)
三: 其他
关于shell脚本的注意事项
有三点一定要注意:
1.脚本文件的名称不能包含“.”符号。你可以写成“backup-website”,但不要写成“backup-website.sh”。
2.脚本开头必须加上“#!/bin/bash”,否则run-parts调用不成功
3.改变权限为可执行文件
ubuntu下启动,停止与重启cron,均是通过调用/etc/init.d/中的脚本进行。命令如下:
sudo /etc/init.d/cron start
sudo /etc/init.d/cron stop
sudo /etc/init.d/cron restart
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
可以通过pgrep cron命令查看cron是否在运行。
管理rails日志需要两个步骤,首先是使用logrotate工具配置被管理的日志的信息,这样做的目的是实行对日志的管理,其次,我们不可能手动执行logrotate工具,我们需要让系统自动执行这个工具,那么我们需要使用cron工具,该工具可以起到定时执行任务的作用。
提示: 手动执行logrotate工具(当我们配置好logrotate时,可以手动执行以下命令来测试配置好的logrotate是否起作用,其中/etc/logrotate.d/rails是配置好的logrotate信息):
sudo /usr/sbin/logrotate /etc/logrotate.d/rails
一:
1:为指定的文件配置转储参数,该文件要符合如下格式,其中第一行的路径是所要管理的日志的绝对路径
经常需要为指定文件配置参数,一个常见的例子就是每月转储/var/log/wtmp/development.log。为特定文件而使用的参数格式是:
# 注释
/var/log/wtmp/development.log
{
option(s)
}
2 logrotate的具体配置信息(这里的配置信息是指上例的option(s))
daily, weekly, monthly, yearly 日、周、月、年
size 指定大小,默认为byte, k为(kbyte),M为(mbyte)。
rotate 指定备份个数
missingok 没有日志,没关系
nocompress 不需要压缩
compress 压缩为gzip格式
delaycompress 延後压缩直到下一次 rotate,注意compress和delaycompress可以实现延后压缩直到下一次rotate。
nodelaycompress 覆盖delaycompress选项,改为同时压缩
notifempty 如果log文档为空,就不rotate
copytruncate 先複製log檔的內容後,再清空的作法,因為有些程式一定log在本來的檔名,例如rails,保留原来的文档。
nocopytruncate 和copytruncate相比,不保留原来的文档
create 转储日志文件后,创建日志文件
nocreate 转储日志文件后,不创建日志文件
olddir 指定转储后的日志放入的文件夹目录
noolddir 转储后的日志和当前的日志放在同一个目录下
prerotate
/usr/bin/chattr -a /var/log/messages
endscript 指定转储以前的动作
postrotate
/usr/bin/kill -HUP syslogd
/usr/bin/chattr +a /var/log/messages
endscript 指定转储以后的动作
daily 指定转储周期为每天
weekly 指定转储周期为每周
monthly 指定转储周期为每月
include: 从指定的文件夹读取文件的信息,就好像这些信息已经在该文件中一样,例如/etc/logrotate.conf中的include一样,include 指定的文件中的转储参数将覆盖缺省的参数。
二: ubuntu下自动安装了cron,所以我们可以直接打开该工具的配置文件,/etc/crontab,配置信息,具体配置请看以上所提供的网址。其中我在/etc/crontab中直接指定了执行脚本文件(*/1 * * * * root /etc/cron.secondly/logrotate-log,该脚本文件中存放的我需要手动执行的命令/usr/sbin/logrotate /etc/logrotate.d/rails)
三: 其他
关于shell脚本的注意事项
有三点一定要注意:
1.脚本文件的名称不能包含“.”符号。你可以写成“backup-website”,但不要写成“backup-website.sh”。
2.脚本开头必须加上“#!/bin/bash”,否则run-parts调用不成功
3.改变权限为可执行文件
ubuntu下启动,停止与重启cron,均是通过调用/etc/init.d/中的脚本进行。命令如下:
sudo /etc/init.d/cron start
sudo /etc/init.d/cron stop
sudo /etc/init.d/cron restart
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
可以通过pgrep cron命令查看cron是否在运行。
发表评论
-
git相关
2021-03-10 10:41 293分支git rebase 并且push后,再次rebase然后 ... -
url的问题
2020-07-03 16:07 293请求的url是base64,转换后的字符串包含加号,需要CGI ... -
通过链接打开支付宝
2020-06-26 15:40 13911:通过浏览器调用支付宝app来打开网址: alipays: ... -
扫码支付宝直接转账到银行卡
2020-06-09 09:42 2153我们通常扫码支付宝二维码进行支付,通常是支付到支付宝中,其实扫 ... -
nmap相关
2020-03-11 18:53 407nmap的输出结果机制是每组数据扫描完就输出结果,通过--mi ... -
softether vpn配置
2020-02-17 17:15 1使用教程网址: https://qiita.com/ask/i ... -
QQ第三方登陆 和 微信第三方登陆
2016-06-23 12:20 1466QQ第三方登陆 QQ互联注册: http://connect ... -
medusa使用
2016-02-02 11:32 1890medusa:linux下爆破工具,爆破种类很多,主要用来22 ... -
客户端设置163企业邮箱
2015-12-30 15:05 1300提示: pop.qiye.163.com smtp.qiye ... -
elasticsearch 笔记
2015-04-27 22:12 27776https://ruby-china.org/topics/3 ... -
Capistrano 使用
2015-03-31 11:47 1110Gemfile中添加: gem 'capistrano' ... -
本地安装代理并且自动解析域名
2015-03-20 14:44 1007安装squid: brew install squid,并且配 ... -
nginx压缩配置
2015-01-05 13:36 786nginx压缩配置: gzip on; ... -
seo
2015-01-03 11:20 7131: nginx配置重定向,为了防止主域名分散www二级域 ... -
jobs项目 ubuntu 支持泛域名解析
2014-10-22 16:36 8011: 安装泛域名解析软件: sudo apt-get in ... -
sublime 插件
2013-05-27 17:01 11803转载: http://lucifr.com/2011/08 ... -
sublime 快捷键(ubuntu)
2013-05-16 09:09 1419如下是ubuntu下的sublime快捷键,mac的可以把ct ... -
项目 经验
2012-10-10 15:53 01: user = User.first; user. ... -
标签页上显示logo
2011-10-27 16:20 10221: 首先制作favicon.ico图标,这是在线制作工具ht ... -
vim 编辑器 扩展
2011-09-06 20:57 22631: acp.vim: 语法自 ...
相关推荐
本话题主要关注如何使用Ruby编写日志分析器来洞察Rails应用中视图渲染的速度,从而优化整体性能。 首先,日志文件在Ruby on Rails中扮演着至关重要的角色,它们记录了应用程序运行时的详细信息,包括数据库查询、...
browserlog, 在你的浏览器中,观看 Rails 日志 项目状态项目已经被存档,它的开发停止。 我对维护它没有什么兴趣。 欢迎 fork 并享受乐趣: Browserlog Browserlog是 Rails 应用程序的实时网络日志查看器。 特性自动...
upmin-admin 是一个为 Rails 应用开发的开源管理框架。用来管理 Rails 应用中各种对象(如 Model、View 和 Controller )。 标签:upmin
`whenever`是Rails框架中用于简化Cron表达式创建的gem,它允许开发者用更易读的语法来定义计划任务。例如: ```ruby every 2.days, at: '3:00 am' do runner "MyModel.some_process" end ``` 在这个例子中,`...
监控和日志管理也很重要,如使用New Relic、Lograge等工具。 10. **测试**: Rails鼓励TDD(测试驱动开发),包括单元测试、集成测试和功能测试。RSpec、Capybara等库可以帮助编写和运行这些测试,确保代码质量。 ...
可以使用如Logrotate来管理日志文件,Prometheus和Grafana组合进行性能监控,以及使用如New Relic或Sentry来跟踪错误和性能问题。 9. **安全考虑**: 部署时应确保Nginx配置文件的安全性,避免泄露敏感信息,如...
LogAnalyzer 查看Ruby on Rails应用程序中渲染的速度。 基于日志信息。 提供有关渲染频率和渲染速度的图片。样品 您可以看到以下列: 类型-文件类型(部分或视图= P或V) 视图-视图名称计数-渲染数平均-渲染的平均...
rails-settings, 使用 Ruby on Rails 管理设置 Rails的设置 ruby gem,通过在单独的数据库表中将它们存储为序列化的哈希来处理。 包含命名空间和默认值。要求ruby 1.9.3或者更高版本Rails 3.1或者更高版本( 包括 ...
而在Rails开发中,合适的编辑器可以提高代码编写和管理的效率,Linux命令行则对于部署和维护开发环境有着重要作用。 为了确保读者能够通过实践加深理解,书中还安排了一系列练习作业,从最基础的“Hello World”...
5. **Gemfile与Bundler**:Rails项目通常使用Gemfile来管理依赖库,Bundler工具则用于安装和管理这些依赖,确保在不同环境下项目的运行一致性。 6. **Scaffolding**:Rails提供了快速生成基本CRUD(Create, Read, ...
Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...
了解如何在真实世界中运行和管理Rails应用,对于确保应用的稳定性和安全性具有重要意义。 综上所述,《Simply Rails2》不仅为初学者提供了全面的Ruby on Rails入门指南,也为进阶开发者提供了深入的技术细节和实践...
rails-flog提供了在Rails日志文件中格式化参数Hash和SQL的功能。 之前和之后(示例应用程序:Redmine) 之前(默认) # Parameters Processing by IssuesController#create as HTML Parameters: {"utf8"=>"✓", ...
- **Bundler**:Bundler是Rails项目中用来管理依赖库的工具。它确保项目能够一致地运行在不同的环境中,并且可以轻松地添加或移除依赖库。 - **启动和应用设置**:这部分介绍如何配置Rails项目的启动过程以及如何...
标签 "工具" 可能意味着讨论到了与Rails开发相关的工具,如集成开发环境(IDEs)、包管理器(如Bundler)、测试框架(如RSpec和Capybara)、调试工具等,这些工具能提升开发效率和代码质量。 压缩包子文件的文件...
Rails是Ruby语言的一个著名Web开发框架,全称为Ruby on Rails,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。本示例"rails项目起步示例"是一个购物系统,非常适合初学者入门学习。 ...
学习如何进行版本控制、配置管理、日志记录和监控。 7. **Rails插件与Gem**:Rails社区提供了丰富的插件和Gem,如Devise用于身份验证,Paperclip或Carrierwave处理文件上传,Resque或Sidekiq实现后台任务队列。掌握...
3. Rails 3.2: Rails 3.2进一步优化了性能,引入了低延迟的LogSubscriber,提升了日志记录的效率。ActiveRecord的查询性能得到提升,例如添加了`pluck`方法,可以直接获取数据库列的值。此外,`rails generate ...
- **前置知识**:在深入学习Rails之前,了解一些必要的预备知识,如Ruby语言基础、数据库管理等。 - **CRUD简介**:解释Create (创建)、Read (读取)、Update (更新) 和Delete (删除) 这四个基本操作,它们是Web应用...