linux日志文件相关知识
-
Linux日志文件总管——logrotate日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预。另外,旧日志也可以通过电子邮件发送,不过该选项超出了本教程的讨论范围。主流Linux发行版上都默认安装有logrotate包,如果出于某种原因,logrotate没有出现在里头,你可以使用apt-get或yum命令来安装。在Debian或Ubuntu上:# apt-get install logrotate cron 在Fedora,CentOS或RHEL上:# yum install log
-
Linux下日志文件过大解决方案很多Linux服务器里的应用程序都是无间断的输出日志,这对于服务器的硬盘是一个很大的考验。良许之前也分享过一篇文章,介绍如何让应用程序在后台执行: linux后台执行命令:&与nohup的用法 通过以上方法,应用程序的日志会一直输出到日志文件myout.txt里,这个文件也会不断的增大,一直蚕食服务器硬盘。 但是,我们都知道,日志对于我们而言是非常重要的,一量应用程序出现bug,或者服务器宕机,我们必须通过日志文件来进行debug或进一步分析。所以,日志文件不能简单的一删了之。 这时,我
-
linux查看日志文件tail -f用法tail Linux中用于查看文件尾部的内容,与head相对应。 常用来查看日志文件,通过-f实时查看文件最新内容。 尤其是对于日志文件较大的时候,通过tail指定输出的行数来查看日志。 // 输出最后10行的内容 tail test.log // 输出最后10行的内容,同时监视文件的变化,一旦变化就显示出来 tail -f test.log // 输出最后n行的内容,同时监视文件的变化,一旦变化就显示出来 tail -nf test.log // 输出文件最后10行的内容 tail -n 10 filename // 除第9行不显示外,显示第10行
-
Linux 系统中使用 logwatch 监控日志文件Linux 操作系统和许多应用程序会创建特殊的文件来记录它们的运行事件,这些文件通常被称作“日志”。当要了解操作系统或第三方应用程序的行为或进行故障排查时,这些系统日志或特定的应用程序日志文件是必不可少的的工具。但是,日志文件并没有您们所谓的“清晰”或“容易”这种程度的可读性。手工分析原始的日志文件简直是浪费时间,并且单调乏味。出于这个原因,对于系统管理员来说,发现任何一款能把原始的日志文件转换成更人性化的记录摘要的工具,将会受益无穷。logwatch 是一款用 Perl 语言编写的开源日志解析分析器。它能对原始的日志文件进行解析并转换成结构化格式的文档,也能根据您的使用情况和需求来定制报告。logwatch 的主要目的是生成更易于使用的日志摘要,并不是用来对日志进行实时的处理和监控的。正因为如此,logwatch 通常被设定好时间和频率的自动定时任务来调度运行或者是有需要日志处理的时候从命令行里手动运行。一旦日志报告生成,logwatch 可以通过电子邮件把这报告发送给您,您可以把它保存成文件或
linux日志文件相关课程
linux日志文件相关教程
- Linux 日志文件系统 前小节介绍了早期的 Linux 文件系统,本小节介绍 Linux 日志文件系统,日志文件系统是给 Linux 操作系统增加了一些安全相关能力,日志文件系统和早期的文件系统相比,它并不是先把数据写到中间存储设备,然后再写到存储设备索引节点的,而是先把数据写道临时生成的文件中(称为日志),然后数据成功同步到存储设备和索引节点表,再删除对应的日志数据。本小节介绍 Linux 常见的日志文件系统。
- 1.1 日志文件 重要日志模块:二进制日志-binlog二进制日志,其实就是我们平常所说的 binlog,它是 MySQL 重要的日志模块,在 Server 层实现。binlog 以二进制形式,将所有修改数据的 query 记录到日志文件中,包括 query 语句、执行时间、相关事务信息等。binlog 的开启,通过在配置文件 my.cnf 中,显式指定参数 log-bin=file_name。如果未指定 file_name,则会记录为 mysql-bin.******(* 代表 0~9 之间的某个数字,表示日志的序号)log-bin = /mysql/log/mysql-bin # binlog的存储路径下面为一条insert语句所生成的binlog内容:root@localhost [tempdb]>insert into a values(1);Query OK, 1 row affected (0.00 sec)[root@mysql-test-1 log]# mysqlbinlog --base64-output=decode-rows -vv mysql-bin.000017#200413 0:18:17 server id 1873306 end_log_pos 556 Write_rows: table id 280 flags: STMT_END_F### INSERT INTO `tempdb`.`a`### SET### @1=1 /* INT meta=0 nullable=1 is_null=0 */# at 556#200413 0:18:17 server id 1873306 end_log_pos 583 Xid = 4713735COMMIT/*!*/;重要日志模块:InnoDB redo logredo log,是存储引擎 InnoDB 生成的日志,主要为了保证数据的可靠性。redo log 记录了 InnoDB 所做的所有物理变更和事务信息。redo log 默认存放在数据目录下面,可以通过修改 innodb_log_file_size 和 innodb_log_files_in_group 来配置 redo log 的文件数量和每个日志文件的大小。innodb_log_file_size = 1000M # 每个redo log文件的大小innodb_log_files_in_group = 3 # redo log文件数量错误日志:error log错误日志,记录 MySQL 每次启动关闭的详细信息,以及运行过程中比较严重的警告和错误信息。错误日志默认是关闭的,可以通过配置参数 log-error 进行开启,以及指定存储路径。log-error = /mysql/log/mysql-error.log # 错误日志的存储路径1.1.4 慢查询日志:slow query log慢查询日志,记录 MySQL 中执行时间较长的 query,包括执行时间、执行时长、执行用户、主机等信息。慢查询日志默认是关闭的,可以通过配置 slow_query_log 进行开启。慢查询的阈值和存储路径,通过配置参数 long_query_time 和 slow_query_log_file 实现。slow_query_log = 1 #开启慢查询long_query_time = 1 #设置慢查询阈值为1sslow_query_log_file = /mysql/log/mysql-slow.log #设置慢查询日志存储路径1.1.5 一般查询日志:general query log一般查询日志,记录 MySQL 中所有的 query。慢查询记录的是超过阈值的 query,而一般查询日志记录的是所有的 query。一般查询日志的开启需要慎重,因为开启后对 MySQL 的性能有比较大的影响。一般查询日志默认是关闭的,可以通过配置参数 general_log 进行开启。存储路径可以通过配置参数 general_log_file 来实现general_log = OFF #默认是关闭的general_log_file = /mysql/data/mysql-general.log #设置查询日志存储路径
- 2.3 输出日志文件 控制台日志保存的内容十分有限,大多数情况下我们需要将日志写入文件,便于追溯。可以通过配置文件指定日志文件,如下配置会将日志打印到 C:\\logs\\spring-boot-log.log 文件中。实例:# 设置日志文件logging.file=C:\\logs\\spring-boot-log.log也可以指定日志文件输出的目录, Spring Boot 项目会在指定输出目录下新建 spring.log 文件,并在文件中写入日志。实例:# 设置日志目录logging.path=C:\\logsTips:如果同时配置了 logging.file 和 ogging.path ,则只有 logging.file 生效。
- Linux 写时复制文件系统 前小节介绍了 Linux 日志文件系统,本小节介绍 Linux 写时复制文件系统。
- 4.3 监听日志文件 在实际工作中,经常会使用 -f 去监听日志新增内容,达到开发者调试的目的,这里为了演示方便,需要打开之前安装过的 MobaXterm,按照之前第 7 小节的步骤,打开两个登录窗口,示例如下:首先进入 /home 目录,新建一个日志文件 access.log,命令如下:cd /homelstouch access.log执行结果如下图:接下来使用 tail 命令跟上 -f 参数对 access.log 日志文件监听,命令如下:tail -f access.log执行结果如下图:接下来在新打开的窗口中,进入 /home 目录,向 access.log 文件写入内容:cd /homeecho "这是第一条测试内容(time=2020-05-05 18:00)" >> access.logecho "这是第二条测试内容(time=2020-05-05 19:00)" >> access.logecho "这是第三条测试内容(time=2020-05-05 20:00)" >> access.log执行结果如下图:Tips:这种监听日志的方法经常用在后端程序开发调试工作中。此时模拟日志数据输入完成,接着打开原来的监听窗口,如下图所示:
- 1.1 ext3 日志文件系统特点 高可用性:系统使用了 ext3 文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复 ext3 文件系统的时间只要数十秒钟。数据的完整性:ext3 文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。在保证数据完整性方面,ext3 文件系统有两种模式可供选择。其中之一就是 同时保持文件系统及数据的一致性 模式。采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。文件系统的速度:尽管使用 ext3 文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,ext3 比 ext2 的性能还要好一些。这是因为 ext3 的日志功能对磁盘的驱动器读写头进行了优化。所以,文件系统的读写性能较之 ext2 文件系统并来说,性能并没有降低。数据转换:由 ext2 文件系统转换成 ext3 文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。用一个 ext3 文件系统提供的小工具 tune2fs,它可以将 ext2 文件系统轻松转换为 ext3 日志文件系统。另外,ext3 文件系统可以不经任何更改,而直接加载成为 ext2 文件系统。多种日志模式:ext3 有多种日志模式,一种工作模式是对所有的文件数据及 metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal 模式);另一种工作模式则是只对 metadata 记录日志,而不对数据进行日志记录,也即所谓 data=ordered 或者 data=writeback 模式。系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。
linux日志文件相关搜索
-
label
labelfor
label标签
lambda
lambda表达式
lamda
lang
last
latin
latin1
layers
layui
leave
left
leftarrow
legend
length
lengths
length函数
less