持久化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. c++ 珊格画椭圆

    #ifndef _TEST_H #define _TEST_H #include <iostream> #include <math.h> using namespace st ...

  2. [CERC2015]Juice Junctions(边双连通+字符串hash)

    做法 考虑边数限制的特殊条件,显然答案仅有\(\{0,1,2,3\}\) 0:不联通 1:连通 2:边双连通 3:任意删掉一条边都为边双连通 考虑每次删边后记录各点的边双染色情况来特判\(3\):是否 ...

  3. js 将网络图片格式转为base64 canvas 跨域

    function getBase64Image(img) { var canvas = document.createElement("canvas"); canvas.width ...

  4. mysql插入数据自动生成主键uuid

    DemoMapper.java //注意方法的返回值必须是void; void add(Demo demo); ============================================ ...

  5. Java核心复习—— ThreadLocal源码分析

    ThreadLocal,叫做线程本地存储,也可以叫做线程本地变量.ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量. 一.如何使用 class Acce ...

  6. Redis企业实战的一些坑

    附录:Redis企业实战的一些坑 一.前言 小伙伴们对Redis应该不陌生,Redis是系统必备的分布式缓存中间件,主要用来解决高并发下分担DB资源的负载,从而提升系统吞吐量. Redis支持多种数据 ...

  7. Leetcode题 257. Binary Tree Paths

    Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 ...

  8. GDB使用——pwn相关

    目录 寄存器 内存 peda插件命令 x命令详解 后续补充 内容来源 寄存器 1.查看寄存器 2.查看所有寄存器 3.查看某个寄存器 4.修改寄存器的值 内存 1.修改内存值 2.搜索内存 peda插 ...

  9. Redis Desktop Manager的下载及安装

    一.下载Redis Desktop Manager 1. Redis Desktop Manager 的下载路径 (1)https://pan.baidu.com/s/1Jvr9MbgFn4UJh4M ...

  10. javasript模块化

    模块概述 随着一个网站越来越大,html页面文件越来越多,由<script src='xxx.js'></script>引入的js文件越来越多,我们的单个js文件很大,上几万行 ...