linux截取日志的命令 linux 怎么取出日志

linux切割、备份大的nohup日志文件

nohup.out日志文件太大了,且一直增长,命令查看日志受阻

创新互联建站专注于江夏企业网站建设,响应式网站开发,成都商城网站开发。江夏网站建设公司,为江夏等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

①切割大文件变成多个小文件

②每天定时保存前一天的日志,重新记录当天日志

1.利用split命令切割

①按文件大小切割大文件:

切割文件:将ohup.out文件每500M切割一个文件放到/home/nginx/logs/newlog/目录下

②按文件行数切割大文件:

查询文件行数:

wc -l b.log

2038711 b.log

按50W行切割一个文件:

split -l 500000 -d -a 4 /home/nginx/logs/b.log /home/nginx/logs/newlog/

2.定时备份前一天日志,重新记录当天日志splitlog.sh

3.定时执行

查看定时任务:

crontab -l

编辑定时任务:

crontab -e

重启定时任务:

删除10天以前的日志文件,此日期为文件本身的时间,非日志内容时间

linux下如何提取日志中指定的一段内容?100分急求!!!

其实要说回答很简单,但是要给你做出来稍微费工夫,因为没有环境可以测试,你可以写一段shell代码来提取,也可以用sed/awk/grep等命令来做,但是命令的复杂度不亚于写一段shell代码。shell代码我给你算法吧。(括号里是参考代码,bash)

初始化变量(flg=0)

循环读取每一行文件(while line in `cat $log`)

变量开始[sip/2.0]为真时( if [ $flg -eq 1 ]; then )

输出当前行到结果文件中( echo $line $retFile )

如果是用户结束 ( chkEnd $line #chkEnd 是个shell函数检查是不是结束

if [ $? -eq 1 ]; then)

变量变量开始[sip/2.0]设置为假 (flg=0)

#如果是用户结束(fi)

否则(else)

如果当前行含有[sip/2.0]( echo $line | grep "[sip/2.0"

if [ $? -eq 0 ]; then)

输出当前行到结果文件中(echo $line $retFile)

变量变量开始[sip/2.0]设置为真(flg=1)

#如果当前行含有[sip/2.0](fi)

#变量开始[sip/2.0]为真时(fi)

Linux查看系统日志的一些常用命令

last

-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。

-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。

-f 记录文件 指定记录文件。

-n 显示列数或-显示列数 设置列出名单的显示列数。

-R 不显示登入系统的主机名称或IP地址。

-x 显示系统关机,重新开机,以及执行等级的改变等信息

以下看所有的重启、关机记录

last | grep reboot

last | grep shutdown

history

列出所有的历史记录:

[zzs@Linux] # history

只列出最近10条记录:

[zzs@linux] # history 10 (注,history和10中间有空格)

使用命令记录号码执行命令,执行历史清单中的第99条命令

[zzs@linux] #!99 (!和99中间没有空格)

重复执行上一个命令

[zzs@linux] #!!

执行最后一次以rpm开头的'命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)

[zzs@linux] #!rpm

逐屏列出所有的历史记录:

[zzs@linux]# history | more

立即清空history当前所有历史命令的记录

[zzs@linux] #history -c

cat, tail 和 watch

系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)

cat /var/log/syslog 等

cat /var/log/*.log

tail -f

如果日志在更新,如何实时查看 tail -f /var/log/messages

还可以使用 watch -d -n 1 cat /var/log/messages

-d表示高亮不同的地方,-n表示多少秒刷新一次。

该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,

这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。

除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些

linux日志文件说明

/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 与安全相关的日志信息

/var/log/maillog 与邮件相关的日志信息

/var/log/cron 与定时任务相关的日志信息

/var/log/spooler 与UUCP和news设备相关的日志信息

/var/log/boot.log 守护进程启动和停止相关的日志消息

/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

Linux日志截取利器——sed命令(亲测可用)

在生产环境中,往往没有条件给我们去debug排查,更多时候我们是通过日志来看具体的报错日期。

但是日志往往是一直在实时更新,而且记录条数庞大,很难直接定位到错误信息。这个时候,就可以利用sed命令来截取指定时间段内的日志(也是网上大多数博主的做法)。

具体命令如下:

这条命令可以查询2020.10.13号当天9点到9点十分中间的所有的日志信息。

但是这条命令的使用有两个前提(很多网上的博主都没有提到)

第一,日志输出的日期格式是要满足命令中的格式 ,如果不是的话就跟着实际的格式改

第二,输入的日期必须要真实存在!!! ,比如说9点整刚好没有日志输出,那么这条命令就会失效

更加通配的命令可以是这样, 使用 号*

这样无论九点整的时候是否有日志产生,就都可以获取到9点整到现在的所有日志了

使用 ,将截取到的内容输出到指定的文件中,方便进一步查看

ps:在实际操作中,我们一般会在后面加grep命令做进一步的关键字过滤

当前题目:linux截取日志的命令 linux 怎么取出日志
URL链接:https://www.cdcxhl.com/article46/hjjohg.html

成都网站建设公司_创新互联,为您提供全网营销推广动态网站关键词优化微信小程序网站改版定制开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站