持久化journalctl日志清空命令查看配置参数详解

最近 linux上面部署服务 

习惯使用systemd 进行处理 这样最大的好处能够 使用journalctl 进行查看日志信息. 

今天清理了下 日志 用的是  

cd /run/log/journal 

删除掉里面的文件来执行的

其实还可以执行持久化的操作 就是这个博客将的了 不过我还没看完..

https://www.chenweiliang.com/cwl-1141.html

命令 "journalctl -k" 和 "journalctl --dmesg" 用来显示系统的内核日志信息。


永久保存journalctl日志


默认journalctl的日志都是保存到内存中。要保存到文件,只需创建/var/log/journal目录,重启journald服务即可


# mkdir -p /var/log/journal


# systemctl restart systemd-journald
————————————————
版权声明:本文为CSDN博主「左手Z右边」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qijkkwcw/article/details/90265091

 

2018年8月29日

每当电商网站管理员遇到MySQL数据库、Apache之类的应用程序,无法如常启动时,Linux系统都会有提示,使用 journalctl -ex 命令查看它。

  • 通常可以快速查找相关日志。
  • 经过这样分析日志,可以快速解决问题。

journal是什么意思?

journal基本解释:

  • n.日报,日志,日记;定期刊物,期刊,杂志;[会计]分类账
  • 变化形式
  • 复数journals

持久化journal的日志

持久化是在持久状态和瞬态状态之间转换程序数据的机制。

通俗地说,瞬态数据(例如无法永久存储的内存数据),持久化会持久存储到持久数据(例如数据库持久性,可以长时间存储)。

CentOS 7.X中,systemd管理所有单元的启动日志。

  • Systemd-journald是systemd管理的渐进式日志管理服务。
  • 它从内核收集日志,系统守护程序在系统的早期启动阶段启动并运行。
  • 标准输出和错误消息,以及系统日志的日志。

journalctl日志路径

日志服务仅将日志文件保存在单个结构中。

以下是CentOS 7 系统 VestaCP控制面板,journalctl日志的保存路径 ▼

/var/log/journal
  • 因为日志是压缩和格式化的二进制数据,所以在查看和定位非常快。

journalctl查看日志命令

不加上任何选项,让journalctl输出所有日志记录的命令 ▼

journalctl

  • 这基本上没用,因为你马上会被如洪水般的日志记录“淹没”,让你感到不堪重负。

接下来,我们将学习如何有效地过滤有价值的日志信息。

查看指定时间段journalctl日志

使用以下命令选项,设置时间段 ▼

--since
--until
  • 时间段负责指定给定时间之前和之后的日志记录。

时间值可以采用多种格式,例如以下格式 ▼

YYYY-MM-DD HH:MM:SS

如果你想检查在2018年3月8日晚上8点20分之后日志,请输入以下命令 ▼

journalctl --since "2018-03-26 20:20:00"
  • 如果未填写上述格式的某些组件,系统将直接填充默认值。
  • 例如,如果未填充日期部分,则直接显示当前日期。
  • 如果未填充时间部分,则默认使用“00:00:00”(午夜)。
  • 秒字段也可以留空。

默认值为“00”,例如以下命令 ▼

journalctl --since "2018-03-26" --until "2018-03-26 03:00"

此外,journalctl还可以理解一些相对值和命名简写。

  • 例如,你可以使用"yesterday"、"today"、"tomorrow"或"now"。

例如,要获取昨天的日志数据,可以使用以下命令 ▼

journalctl --since yesterday

要从上午9:00到最后一小时获取日志,可以使用以下命令 ▼

journalctl --since 09:00 --until "1 hour ago"

实时更新查看journalctl日志

跟 tail -f 命令类似,journalctl支持-f选项,以便实时显示日志 ▼

journalctl -f

如果想查看设备的实时日志,请添加-u选项 ▼

$ sudo journalctl -f -u prometheus.service

仅显示最journalctl 新的n行

命令行选项 -n 用于仅控制最新的n行日志。

默认是在最后显示最新的10行日志 ▼

$ sudo journalctl -n

你还可以在末尾显示指定行数的日志 ▼

$ sudo journalctl -n 20

以下是显示cron.service服务的最新三行日志 ▼

$ journalctl -u cron.service -n 3

网络营销人员使用VPS建站,安装VestaCP控制面板,搭建WordPress网站。

经常使用 df -h 命令查看VPS磁盘容量,发现每月以1GB的趋势在上升(记得上个月是1GB)

[root@ten ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/simfs       20G  7.5G   13G  38% /

devtmpfs        256M     0  256M   0% /dev

tmpfs           256M     0  256M   0% /dev/shm

tmpfs           256M  244K  256M   1% /run

tmpfs           256M     0  256M   0% /sys/fs/cgroup

tmpfs            52M     0   52M   0% /run/user/0

查看journalctl日志使用容量命令

检查当前 journalctl 日志使用磁盘容量命令 ▼

journalctl --disk-usage

journalctl清空删除日志

由于Linux是一个非常敏感的操作系统,若删除文件错误,很容易造成系统崩溃。

所以,清理journalctl日志的方法,请按日期、允许保留的容量进行删除。

journalctl --vacuum-time=2d
journalctl --vacuum-size=500M

如果要手动删除日志文件,则需要在删除之前轮转(循环)日志。

systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service

journalctl配置持久性容量

要启用日志限制持久性配置,你可以修改journald的配置文件 ▼

/etc/systemd/journald.conf

SystemMaxUse=16M

ForwardToSyslog=no

然后,重启journald ▼

systemctl restart systemd-journald.service

检查日志是否如常?日志文件是否完好且未损坏? ▼

journalctl --verify

以下是清理journalctl日志之后的VPS磁盘容量,以及journalctl日志容量 ▼

[root@ten /]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/simfs       20G  5.7G   15G  29% /

devtmpfs        256M     0  256M   0% /dev

tmpfs           256M     0  256M   0% /dev/shm

tmpfs           256M  308K  256M   1% /run

tmpfs           256M     0  256M   0% /sys/fs/cgroup

tmpfs            52M     0   52M   0% /run/user/0

[root@ten /]# journalctl --disk-usage

Archived and active journals take up 24.0M on disk.

持久化 journalctl 日志详解,到此结束 ^_^

[转帖]持久化journalctl日志清空命令查看配置参数详解的更多相关文章

  1. log4j配置参数详解——按日志文件大小、日期切分日志文件

    项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. ...

  2. 【查看内存参数详解】Linux free -m 详细说明

    free 命令相对于top 提供了更简洁的查看系统内存使用情况:$ free                                       total            used   ...

  3. wget命令企业级应用参数详解

    wget -O /etc/yum.repos.d/CentOS-Base.repo --spider: 爬虫,检查网站是不是好的 -T: 指定超时时间 --tries=2  指定重试的次数 -q   ...

  4. docker run命令运行以及参数详解

    命令格式: -a, --attach=[] 登录容器(必须是以docker run -d启动的容器) -w, --workdir="" 指定容器的工作目录 -c, --cpu-sh ...

  5. [转帖]Ipvsadm参数详解(常用命令)

    Ipvsadm参数详解(常用命令) 2013年11月29日 12:41:40 怀素1980 阅读数:15901   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  6. [转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件

    XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dir ...

  7. nginx命令:启动,停止及命令参数详解

    nginx命令:启动nginx 在Windows上安装好nginx后,我们需要启动nginx服务,启动nginx服务的命令行操作主要有两种方式,即 1 C:/nginx-0.8.53>nginx ...

  8. JAVA 命令参数详解System.setProperty(

    JAVA 命令参数详解: 1.-D<name>=<value> set a system property  设置系统属性. java -D参数简化加入多个jar java命令 ...

  9. 以太坊客户端Geth命令用法-参数详解

    Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具. 熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册. 本文主要是对geth help的翻译 ...

随机推荐

  1. scrapy 分布式爬虫- RedisSpider

    爬去当当书籍信息 多台机器同时爬取,共用一个redis记录 scrapy_redis 带爬取的request对象储存在redis中,每台机器读取request对象并删除记录,经行爬取.实现分布式爬虫 ...

  2. Js 之cookie插件(jquery.cookie.js)

    一.代码 (function (factory) { if (typeof define === 'function' && define.amd) { // AMD define([ ...

  3. 探究机器码,深入研究C语言程序的机制

    用C高级编程语言写的程序,都要经过编译链接成本机可执行的程序.这个可执行程序究竟是什么呢?在Linux上,我们可以用objdump命令很方便地查看一个可执行程序的机器码.我们从一个简单的示例开始,说一 ...

  4. OpenJudge计算概论-年龄与疾病

    /*========================================================== 年龄与疾病 总时间限制: 1000ms 内存限制: 65536kB 描述 某医 ...

  5. Docs-.NET-C#-指南-语言参考-预处理器指令:C# 预处理器指令

    ylbtech-Docs-.NET-C#-指南-语言参考-预处理器指令:C# 预处理器指令 1.返回顶部 1. C# 预处理器指令 2015/07/20 本节介绍了以下 C# 预处理器指令: #if ...

  6. JS pc端和移动端共同实现复制到剪贴板功能实现

    JS pc端和移动端实现复制到剪贴板功能实现 在网页上复制文本到剪切板,一般是使用JS+Flash结合的方法,网上有很多相关文章介绍.随着 HTML5 技术的发展,Flash 已经在很多场合不适用了, ...

  7. JAVA关于静态static的面试题

    JAVA关于静态static的面试题     版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net ...

  8. PorterDuffXfermode之Mode.SRC_IN

    package com.loaderman.customviewdemo.view; import android.content.Context; import android.graphics.B ...

  9. 查看QML数据类型

    assist输入: QML Types A Abstract3DSeries AbstractActionInput AbstractAnimation AbstractAxis AbstractAx ...

  10. QML使用C++对象

    一.定义QObject子类 Myudp.h #ifndef MYUDP_H #define MYUDP_H #include <QObject> #include <QUdpSock ...