管理rails日志(logrotate、cron)

学习网址: 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是否在运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值