linux 统日志进行轮转、压缩和删除 命令:logrotate

使用 logrotate 命令对 Linux 日志进行轮转压缩和删除

在 Linux 中,系统会不断产生各种日志信息,如系统日志、应用程序日志等,这些日志文件会在短时间内不断增长,占用大量磁盘空间。为了解决这个问题,我们可以使用 logrotate 命令来管理日志文件。

1. logrotate 简介

logrotate 是 Linux 系统下的日志文件轮转工具。它可以根据预定的规则轮转、压缩、删除和发送指定的日志文件。logrotate 配置文件默认存放在 /etc 目录中。

2. 安装 logrotate

在大多数 Linux 发行版中,默认已经安装 logrotate 工具。但如果没有安装,则可以使用以下命令进行安装:

sudo apt-get install logrotate   # Ubuntu/Debian 系统
sudo yum install logrotate       # CentOS/RHEL 系统

3. 配置 logrotate

logrotate 的配置文件默认为 /etc/logrotate.conf,而日志文件单独的配置文件一般存放在 /etc/logrotate.d 目录下。配置文件的内容如下所示:

// /etc/logrotate.conf

# 可以通过 include 语句引入其它日志文件配置
include /etc/logrotate.d

# 设置日志文件压缩时使用的压缩程序,可以设置为 gzip/bzip2/xz 等
compresscmd /usr/bin/gzip

# 压缩程序的参数
compressoptions -9

# 当日志文件轮转时,执行 pre-rotate 脚本
# 当日志文件压缩后,执行 post-rotate 脚本
# 可以在这些脚本中执行一些特定操作,如重新打开日志文件,重启服务等
#prerotate
#	/your/script/to/execute/before/rotation
#endscript
#postrotate
#	/your/script/to/execute/after/rotation
#endscript

# 如果日志文件大小为 100MB,那么就会轮转,生成新的文件
size 100M

# 轮转保存的文件数量,一般为 7-30 次
rotate 7

# 设置日志文件的归属用户、用户组
create 0644 root root

4. 日志文件轮转

使用 logrotate 进行日志文件轮转的命令格式如下:

logrotate [选项] 配置文件

例如,我们要对 Apache 的日志文件进行轮转,可以创建一个 Apache 的配置文件 /etc/logrotate.d/apache,内容如下所示:

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    # 设置轮转周期为每天
    daily
    # 设置保存7天的日志文件
    rotate 7
    # 使用 gzip 压缩日志文件
    compress
    # 使用 root 用户和 root 组
    create 0644 root root
}

然后执行如下命令:

logrotate /etc/logrotate.d/apache

执行完该命令后会按照配置文件中的设置进行日志轮转,将旧日志文件进行删除、压缩备份,并且生成新的日志文件。

总结

以上就是使用 logrotate 命令对 Linux 日志进行轮转、压缩和删除的介绍。通过 logrotate 的使用,可以避免过多的日志文件占用磁盘空间,并且方便我们快速查询和管理日志文件。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容