当前位置: 首页 > news >正文

Linux友人帐之日志与备份

一、日志

1.1概述

  • 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。
  • 日志对于安全来说也很重要,它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因或者受到攻击时攻击者留下的痕迹。
  • 可以这样理解日志是用来记录重大事件的工具

 1.2var/log目录

/var/log 目录是Linux系统中存储日志文件的默认目录。这个目录包含了系统在运行过程中产生的各种日志信息,例如系统日志、应用程序日志、安全日志等。

/var/log 目录下的文件一般都以日志类型命名,如:

1. /var/log/messages: 包含了系统启动过程中的日志信息、内核日志和一些重要的系统信息。

2. /var/log/auth.log: 包含了系统认证和授权相关的信息,如登录、sudo等操作。

3. /var/log/syslog:包含了系统信息与内核消息

4. /var/log/secure:包含了系统安全相关的信息,如ssh登录、防火墙日志等。

5. /var/log/dmesg:包含了系统启动时的硬件信息、内核信息和驱动信息。

需要注意的是,这些日志文件只用于记录管理员和系统的相关操作,其他普通用户获取日志的权限是非常有限的。

1.3日志管理服务rsyslogd


 

1.4 /etc/rsyslog.conf文件

在Linux系统中,/etc/rsyslog.conf是一个配置文件,它是rsyslogd的主要配置文件。rsyslogd是一种系统日志守护进程,负责接收、处理和转发系统日志消息。

/etc/rsyslog.conf文件包含了rsyslogd的配置信息,通过修改该文件可以控制系统日志守护进程的行为。该文件通常包含以下内容:

1. Global Directives:全局指令,用于配置rsyslogd的全局行为,例如日志文件存储位置、日志记录级别、日志格式、时间戳格式等。

2. Module Directives:模块指令,用于指定rsyslogd要使用的模块及其参数,例如syslog模块、imuxsock模块、imklog模块等。

3. Rule Directives:规则指令,用于指定rsyslogd要执行的规则,例如过滤日志、转发日志、记录日志等。

修改/etc/rsyslog.conf文件可以使rsyslogd满足特定的需求,进而实现更高效的系统日志管理。

文件查看方式 

 1.5自定义日志管理服务

要创建自定义日志管理服务,可以按照以下步骤进行操作:

1. 安装并配置 rsyslog

Rsyslog 是 Linux 上常用的日志服务,它可以帮助你将不同来源的日志消息发送到不同的输出目标。你可以使用以下命令安装并启动 rsyslog:

sudo apt-get install rsyslog
sudo service rsyslog start

2. 创建日志文件

在 /var/log 目录下创建你需要的日志文件,例如:

sudo touch /var/log/mylog.log

3. 配置 rsyslog

在 /etc/rsyslog.d 目录下创建一个新的配置文件,例如 mylog.conf:

sudo nano /etc/rsyslog.d/mylog.conf

在此配置文件中,添加以下内容:

$ModLoad imfile
$InputFileName /var/log/mylog.log
$InputFileTag mylog:
$InputFileStateFile mylog-state
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor
local7.*    /var/log/mylog_parsed.log

这些配置设置了:

- 加载 imfile 模块,用于监视文件。
- 设置要监视的日志文件路径及名称。
- 指定了一个标签,用于将日志消息与此服务区分开来。
- 指定了状态文件的名称,以跟踪读取的文件的位置。
- 指定了日志消息的严重性和设施级别。
- 指定了要将消息发送到的输出文件。

在此示例中,我们将来自此服务的日志消息发送到 /var/log/mylog_parsed.log 文件。

4. 重启 rsyslog

重新启动 rsyslog 服务,使之生效:

sudo service rsyslog restart

现在,你的自定义日志管理服务已准备好使用。你可以将日志消息写入 /var/log/mylog.log 文件,然后在 /var/log/mylog_parsed.log 文件中看到相应的解析结果。

 1.6日志轮替

/etc/logrotate.conf是一个用于配置日志文件轮换工具logrotate的主配置文件。

该文件包含全局选项和默认设置,这些选项和设置在轮换指令中未被指定时会应用到所有的日志文件。

该文件通常包含以下选项:

- daily/weekly/monthly/yearly:指定轮换的时间间隔。
- rotate:指定保留的轮换文件数。
- create:指定当轮换文件被创建时的权限和所有权。
- compress:指定是否压缩归档文件。
- delaycompress:指定是否在下一次轮换时压缩旧的归档文件,而不是立即压缩。
- su/sudo:指定在轮换过程中使用的用户和组。

/etc/logrotate.conf文件也可以包含指向其他配置文件的include语句,在这些配置文件中,可以为特定的日志文件或日志文件组指定轮换选项和设置。

例如,以下是一个简单的/etc/logrotate.conf文件:

# 全局选项
weekly
rotate 4
create# 日志文件组
/var/log/apache2/*.log {compressdelaycompresssu www-data rootsize 50M
}

该文件指定了轮换时间为一周,保留4个轮换文件,并使用默认的权限和所有权来创建新文件。然后,它指定了一个日志文件组,其中包含了所有以.log为后缀的Apache访问日志文件,将它们压缩并使用www-data用户和root组进行轮换,当日志文件大小超过50MB时进行轮换。

值得注意的是,该文件只是logrotate的主配置文件之一,实际上的轮换配置可能散布在多个配置文件中,这些文件可以在/etc/logrotate.d/目录中找到。

 /etc/logrotate.d/目录

/etc/logrotate.d/目录中包含了系统日志文件的配置文件。logrotate是一个实用工具,用于管理Linux系统中的日志文件,可以对各个日志文件进行分割、压缩和删除等操作,以避免日志文件过大影响系统性能。

在/etc/logrotate.d/目录中,每个文件都对应一个日志文件的配置。例如,文件名为syslog的配置文件对应的是系统日志文件/var/log/syslog的处理方式。配置文件中包含了对该文件的处理方式、保留时间、压缩方式、删除时间等等的参数设置。

在Linux系统中,日志文件的处理是一个非常重要的工作,通过logrotate工具的使用,可以更好地保障系统的稳定性和安全性。

 自定义日志轮替

 日志轮替机制原理

 1.7内存日志

 

`journalctl` 是 Linux 系统上的一个命令,用于查看和管理系统日志。它可以查看系统日志,包括 boot 过程中的日志和运行期间的日志。

常用的 `journalctl` 命令选项包括:

- `-u`:指定服务单元名称,只显示特定服务的日志信息;
- `-b`:显示指定启动引导的日志信息;
- `-p`:指定日志级别,只显示指定级别的日志信息;
- `-r`:按照相反顺序输出日志信息;
- `-f`:相当于 `tail -f`,实时查看日志信息。

例如,可以使用以下命令查看系统日志:

journalctl

使用以下命令查看指定服务的日志:

journalctl -u service-name

使用以下命令查看指定启动引导的日志:

journalctl -b

使用以下命令查看只显示错误级别的日志信息:

journalctl -p err

使用以下命令实时查看日志信息:

journalctl -f

 二、备份与数据恢复

2.1概述

2.2dump命令 

dump命令是一种文件系统备份工具,它可以备份和还原文件系统中的数据。它使用Unix文件系统,通过备份一个文件系统来创建一个可重建的副本。dump命令可以用于备份整个文件系统或者备份某个特定的目录。 

以下是dump命令的一些常用选项和用法:

1. 基本语法

dump [options] device

2. 常用选项

- -0:创建完整备份
- -u:更新备份
- -f:指定备份文件名
- -s:指定备份级别
- -n:不备份文件系统中的某些目录
- -L:指定备份文件的大小
- -z:压缩备份文件

3. 示例

- 创建完整备份

dump -0uf /mnt/backup/home.dmp /home

- 更新备份

dump -uf /mnt/backup/home.dmp /home

- 恢复备份

restore -if /mnt/backup/home.dmp

- 不备份文件系统中的某些目录

dump -0us /mnt/backup/home.dmp /home -n /home/user1,/home/user2

- 压缩备份文件

dump -0uzf /mnt/backup/home.dmp.gz /home

2.3restore命令

 Linux中的“restore”命令是一个备份和还原文件的工具。它的功能与“tar”命令类似,但还提供了增量备份和还原,以及指定备份时间等更高级的选项。下面是一些常用的“restore”命令选项:

1. -C:指定还原的目录。

2. -t:列出备份的文件列表。

3. -i:交互模式,每次还原时都要求确认。

4. -x:从备份中解压文件。

5. -f:指定备份文件名。

6. -R:恢复到指定时间的备份。

例如,恢复一个名为“backup.tar”的备份文件到“/home/user/restore”目录可以使用以下命令:

restore -xvf backup.tar -C /home/user/restore

如果想要恢复到备份文件的某个特定时间,可以使用以下命令:

restore -R -f backup.tar -C /home/user/restore -t "2021-01-01 00:00:00"

此命令将还原备份文件“backup.tar”中在“2021-01-01 00:00:00”之前的文件。

 

相关文章:

Linux友人帐之日志与备份

一、日志 1.1概述 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。日志对于安全来说也很重要,它记录了系统每天发生的各种事情&#…...

git中如何在父仓库提交子仓库的修改

子仓库在父仓库中进行了修改,你需要按照以下步骤提交子仓库的修改: 切换到子仓库目录:使用cd命令进入子仓库所在的目录。拉取子仓库的最新更改:使用git pull命令拉取子仓库的最新更改,确保你的本地是最新的版本。提交…...

【【萌新的SOC学习之SD卡DMA回路读写大数据的实验】】

萌新的SOC学习之SD卡读写大数据的实验 记得先设定 FIFO 的位宽和深度 还有DMA 的大小 其他基本结构设计参照上一个SD卡读写小数据的实验 #include "xparameters.h" //包含vivado所导出的信息包含vivado的基地址 #include "xil_printf.h" //调用打印函…...

在k8s中 ,数据包是怎么从外部流转进入到pod的?

在 Kubernetes 中,当您创建 NodePort 类型的服务时,流量不会直接从主机的 IP 和端口转发到特定 Pod 的 IP 和端口。相反,流量被转发到集群中的一个节点,然后从那里转发到相应的 Pod。 1、当您创建 NodePort 类型的服务时&#xf…...

微信小程序设置 wx.showModal 提示框中 确定和取消按钮的颜色

wx官方提供的 showModal 无疑是个非常优秀的选择提示工具 但是 我们还可以让他的颜色更贴近整体的小程序风格 cancelColor 可以改变取消按钮的颜色 confirmColor 则可以控制确定按钮的颜色 参考代码如下 wx.showModal({cancelColor: #0000FF,confirmColor: #45B250,content:…...

【Chrome】使用k8s、docker部署无头浏览器Headless,Java调用示例

什么是无头浏览器? 无头浏览器是一种没有图形用户界面的浏览器。无头浏览器不通过其图形用户界面(GUI)控制浏览器的操作,而是使用命令行。 为什么要用Chrome无头? Chrome Headless用于抓取(谷歌)、测试(开发者)和黑客(黑客)。搜索引擎&…...

springmvc http请求,支持get,post,附件传输和参数传输

主要解决http请求支持get,post,put,delete等常规方法,支持RequestParam,RequestBody,PathVariable等参数格式传输,支持传输附件同时传递参数等,主体代码如下: package mes.client.action;import cn.hutool.crypto.digest.DigestUt…...

linux性能分析(七)CPU性能篇(二)怎么理解平均负载

一 怎么理解平均负载 ① 如何查看平均复杂 查看系统负载的命令: top、uptime、w、cat /proc/loadavg、tload /proc/loadavg 思考: uptime每列输出的含义?重点: 当前时间、系统运行时间、正在登录用户数、平均负载 ② 思考&#xff1…...

PostgreSQL12中浮点数输出算法优化带来的小问题

最近碰到同事发来这样两个SQL,开发反馈输出的结果异常。 bill# select 0.1284*100::float;?column? --------------------12.839999999999998 (1 row)bill# select (0.1284*100)::float;float8 --------12.84 (1 row) 乍一看其实能看出明显的区别,由于…...

Hive安装配置笔记

版本说明 hadoop-3.3.6&#xff08;已安装&#xff09; mysql-8&#xff08;已安装&#xff09; hive-3.1.3 将hive解压到对应目录后做如下配置&#xff1a; 基本配置与操作 1、hive-site <configuration><!-- jdbc连接的URL --><property><name>ja…...

前端数据可视化之【Echarts下载使用】

目录 &#x1f31f;下载&#x1f31f;浏览器引入&#x1f31f;模块化引入 &#x1f31f;使用&#x1f31f;基本使用步骤 &#x1f31f;绘制一个简单的图表&#x1f31f;写在最后 &#x1f31f;下载 &#x1f31f;浏览器引入 官网下载界面&#xff1a;官方网站 或 Echarts中文…...

本机计算机上的mysql启动后停止

本机计算机上的mysql启动后停止 原因&#xff1a;mysql5.0和mysql8.0配置不同 把my.ini改成以下设置然后再重新 mysqld --initialize-insecure --usermysql然后再启动 net start mysqlmysql8.0 下面的路劲可自定义 [client] default-character-setutf8 [mysql] default-cha…...

Java中ReentrantLock测试线程的安全

使用场景 当需要在多线程环境下保证共享资源的安全访问时&#xff0c;可以使用Java中的ReentrantLock来实现线程安全。ReentrantLock是一个可重入的互斥锁&#xff0c;它提供了与synchronized关键字类似的功能&#xff0c;但更加灵活和扩展性强。 下面是一个使用ReentrantLoc…...

Vue-dvadmin-d2-crud-plus-常用配置-row-handle-columns-options

文章目录 1.row-handle columnHeader width minWidth fixed align renderHeader edit view remove remove.confirm remove.confirmTitle remove.confirmText custom 范例1 范例2 2.columns title key width minWidth fixed renderHeader sortable sortMethod sortBy sortOrders…...

【OpenCV实现图像的算数运算,性能测试和优化,改变颜色空间】

文章目录 OpenCV功能概要图像的算数运算性能测试和优化改变颜色空间对象追踪 OpenCV功能概要 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习库&#xff0c;提供了丰富的图像处理和计算机视觉算法。它支持多种编程语言&…...

多级缓存入门

文章目录 什么是多级缓存JVM进程缓存环境准备安装MySQL导入Demo工程导入商品查询页面 初识Caffeine Lua语法初识Lua第一个lua程序变量和循环Lua的数据类型声明变量循环 条件控制、函数函数条件控制 多级缓存安装OpenRestyOpenResty快速入门反向代理流程OpenResty监听请求编写it…...

CentOS卸载LVM磁盘的方法

在客户环境上遇到一个问题&#xff0c;本身的磁盘满了&#xff0c;需要把没有用的lvm逻辑卷卸载掉&#xff0c;然后挂上去&#xff0c;下面记录一下过程。 卸载原磁盘 umount /data # 如果/data目录正在被其他进程使用中&#xff0c;则使用fuser强制关闭&#xff0c;然后Umou…...

ChatGPT:Spring Boot和Maven——Java应用开发的关键工具和区别

ChatGPT&#xff1a;Spring Boot和Maven——Java应用开发的关键工具和区别 Springboot是什么&#xff1f; ChatGPT&#xff1a; Spring Boot是一个用于构建Java应用程序的开源框架&#xff0c;它是Spring Framework的一部分&#xff0c;但旨在简化Spring应用程序的开发。Sprin…...

智能振弦传感器:参数智能识别技术的重要科技创新

智能振弦传感器&#xff1a;参数智能识别技术的重要科技创新 智能振弦传感器是一种能够自动识别传感器参数的高科技产品。它的研发得益于河北稳控科技的不断创新和努力&#xff0c;其电子标签专用读数模块模块TR01将传感器生产和标定过程实现了自动化。该模块将温度电阻两芯线…...

tooltip实现悬停内容染色

一: 通过highlight.js项目实现对json字符串的染色高亮 此项目是jsp文件,并且引用了element-ui/highlight.js的组件 二: 实现效果 三: 代码实现 关键点在于成功引入相关的js及css&#xff0c;并且在tooltip渲染时进行数据染色。再将染色后的数据放到v-html中进行页面渲染(关键方…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...