Linux友人帐之日志与备份

2023-10-25 20:37
文章标签 linux 日志 备份 友人

本文主要是介绍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友人帐之日志与备份的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/285029

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存