当前位置: 首页 > 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中进行页面渲染(关键方…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

LangChain【6】之输出解析器:结构化LLM响应的关键工具

文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器&#xff1f;1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...