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:包含了系统启动时的硬件信息、内核信息和驱动信息。

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

Linux友人帐之日志与备份_第1张图片Linux友人帐之日志与备份_第2张图片

1.3日志管理服务rsyslogd

Linux友人帐之日志与备份_第3张图片
 Linux友人帐之日志与备份_第4张图片

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满足特定的需求,进而实现更高效的系统日志管理。

Linux友人帐之日志与备份_第5张图片Linux友人帐之日志与备份_第6张图片

文件查看方式 

Linux友人帐之日志与备份_第7张图片Linux友人帐之日志与备份_第8张图片

Linux友人帐之日志与备份_第9张图片 1.5自定义日志管理服务Linux友人帐之日志与备份_第10张图片

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

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日志轮替

Linux友人帐之日志与备份_第11张图片

/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 {
    compress
    delaycompress
    su www-data root
    size 50M
}

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

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

Linux友人帐之日志与备份_第12张图片Linux友人帐之日志与备份_第13张图片 /etc/logrotate.d/目录

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

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

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

Linux友人帐之日志与备份_第14张图片

 自定义日志轮替Linux友人帐之日志与备份_第15张图片

Linux友人帐之日志与备份_第16张图片

 日志轮替机制原理

Linux友人帐之日志与备份_第17张图片

Linux友人帐之日志与备份_第18张图片 1.7内存日志

Linux友人帐之日志与备份_第19张图片

 

`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命令 Linux友人帐之日志与备份_第20张图片

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

Linux友人帐之日志与备份_第21张图片

Linux友人帐之日志与备份_第22张图片

Linux友人帐之日志与备份_第23张图片

2.3restore命令

Linux友人帐之日志与备份_第24张图片

 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友人帐之日志与备份_第25张图片 

你可能感兴趣的:(Linux,linux,运维,服务器)