linux有时候会遇到文件很大,关键字查找都要超过整屏,无法查看到所有内容。比如一个非常大的日志文件info.log,我们要查看某段字符所有日志,可以同 cat info.log | grep ‘1711178968′ ,如果显示过多,此时可以加时间,行数控制。也可以通过 ‘>>’指令。 cat info.log | grep ‘1711178968’ >> temp.log 将中间结果暂存下来,通过more ,less等工具一页页查看temp.log文件
格式:函数必须要放在最前面,function 后是函数的名字,并且 function 这个单词是可以省略掉的,花括号{} 里面为具体的命令
该文介绍了一种通过shell命令行从日志文件中筛选并输出符合特定条件的日志的方法。该方法可以用于快速获取某个时间段内的日志,从而进行后续的分析和处理。该方法利用了grep和head等命令,可以快速获取想要的信息。同时,该方法还可以根据需要对输出结果进行进一步的处理,比如保存到文件或者发送到远程服务器等。
对于后端开发来说,定位日志很重要,可以加快bug的处理效率,之前习惯了使用tail -fn 100 test.logs,然后再用/加上关键字,定位日志内容,不过如果日志内容太多,不太好排查问题,就需要将日志截取到本地,这时候可以使用sed命令将日志截取到本地
假如我们根据相关的id定位到了这样一段日志,现在我们要找出所有报这个错的日志,并且把 refundReq=后面那串json给截取下来,有了这串json,我们就可以重新去请求 refundOrderV3方法。
log_bin binlog的开关和binlog的前缀
cut应用场景:通常对数据进行列的提取 (在工作中,我们通常会对数据库或者查出来的日志进行列的提取)
近期,邮件告警通知无法送达,导致部分错误信息开发人员没有及时收到,触发了手动电话通知机制(客户,你懂得)。这个锅我背,之前好好的,突然前段时间就不好使了(脚本什么的并没有动过)。快周末了,重新调整了一下告警通知,顺便加入钉钉机器人监控报警。
前言 近期,邮件告警通知无法送达,导致部分错误信息开发人员没有及时收到,触发了手动电话通知机制(客户,你懂得)。这个锅我背,之前好好的,突然前段时间就不好使了(脚本什么的并没有动过)。快周末了,重新调整了一下告警通知,顺便加入钉钉机器人监控报警。 服务配置 服务器:192.168.1.180 访问地址:http://logs.52itstyle.com 相关软件 ELK(ElasticSearch、Logstash、Kibana)、Nginx、sendmail、钉钉 告警通知 邮件 + 钉钉通知 logst
截取一段时间内的log日志可以使用sed命令对log文件进行抽取操作: 1,sed查看某时间段到现在的系统日志: sed -n '/May 20 17/,$p' /var/log/messages | less 2,sed 截选时间段日志: 假如日志的格式是-- “2015-05-04 09:25:55,606 后面跟日志内容 ”这样的 目标是需要将05-04的09:25:55 和09:28:08 之间的日志截取出来: 使用sed命令如下: sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’ logfile 这样可以精确地截取出来某个时间段的日志。 如果需要截取的日志太大,达到几个G的话,不能去vi打开文件: 根据之前的日志格式,使用正则表达式: sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’ logfile 如果没有问题的话,上面就能筛选出指定的时间段的日志。
例子: wget -rp https://www.abcd.com/123.html
由于开启过慢查询日志bin-log, 我们就必须为我们的function指定一个参数。 主从复制,主机会将写操作记录在bin-log日志中。从机读取bin-log日志,执行语句来同步数据。如果使 用函数来操作数据,会导致从机和主键操作时间不一致。所以,默认情况下,mysql不开启创建函数设 置。
上一章我们介绍了shell编程的语法和应用,在实际生产环境中,Linux的系统运维者经常会查看系统中的各项性能、参数,为了提高查看效率,我们可以编写一些监控脚本以便系统的自动化运维。
Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。
在 CentOS 6.x 中,日志服务已经由 rsyslogd 取代了原先的 syslogd。Red Hat 公司认为 syslogd 已经不能满足工作中的需求,rsyslogd 相比 syslogd 具有一些新的特点:
3、对请求到的日志里的数据,分析、截取、分割操作 1)把结果导入数据库(按项目名、日期、项目id、死链、日志原始链接) 2)拼成html邮件格式(table) 3)整个项目部署到Linux上,设定crontab定时任务,每天发送
日志路径:/usr/local/nginx/logs, 截取access.log中2019年3月24日17点00~02之间的日志: 写法1:
绝大多数情况下项目出问题了,第一时间就会打开服务器,cd… tail … 一套连招查看到底除了什么错误日志,虽然这种方法直达问题本质,但好像有些不太优雅,毕竟打开Xshell等也需要耗费时间,看时间只能输入命令和上下查看,针对这个就设计了一个接口,解决这个问题。
RCE(Remote code execution)远程代码执行漏洞,RCE又分命令执行和代码执行。
曾经写过服务器安全狗 linux 版安装教程,凡是此类的软件都是新手站长、对 linux 安全设置不熟悉的站长来使用的,虽然会占用一部分内存但是也提高了服务器的安全性,同时能够阻挡一部分的 CC 攻击
前言 这两天自己挽起袖子处理日志,终于把AWK给入门了。其实AWK的基本使用,学起来也就半天的时间,之前总是靠同事代劳,惰性呀。 此文仅为菜鸟入门,运维们请勿围观。 下面是被处理的日志的示例,不那么标准,但不标准的日志正是标准的情况。 [2015-08-20 10:00:55.600] - [192.168.0.73/192.168.0.75:1080 com.vip.xxx.MyService_2.0 0 106046 100346 90ms 110ms] 基本语句 最基本的语句,以空格做分割,提取所
常用linux命令: 随机数 时间 ip 日志分析 硬件信息 进程端口 调整分区大小 随机数 生成10以内的随机数 echo $RANDOM%10 | bc 生成11-20之间的随机数 echo $(($(date +%s)%11+20-11)) 时间 获取当前系统的时间 date|cut -c 1-26 # 2016年 07月 23日 星期六 19:12:40 查看硬件时间 hwclock 修改系统时间 date -s "2019-03-29 13:58:00" 将系统时间同步到硬件时间 hwclock
ADB(Android Debug Bridge)是一个用于在计算机和 Android 设备之间通信的命令行工具。它是 Android SDK(Software Development Kit)的一部分,主要用于调试和管理 Android 设备。ADB 的作用包括但不限于:
linux系统日志 /var/log/messages //是linux系统一个总的日志——>除非某些服务,有定义单独的日志 /etc/logrotate.conf 日志切割配置文件 参考日志文件文章 dmesg命令 /var/log/dmesg 日志 last命令,调用的文件/var/log/wtmp lastb命令查看登录失败的用户,对应的文件时/var/log/btmp /var/log/secure 系统日志 /var/log/messages //是linux系统一个总
在排除故障时,需要分析发生故障的原因,避免再次出现同样的问题,需要对日志进行分析,截取故障前后时间段的日志。通常用正则表达式来获取某段时间的内的日志,比较繁琐。可以通过awk方便简捷的实现。 我这里以截取nginx访问日志为例: 查看21/Jul/2014:14:37:50到21/Jul/2014:14:38:00时间段内bbs.ttlsa.com的访问日志。 # cat bbs.ttlsa.com.access.log | awk '$4 >="[21/Jul/2014:14:37:50" && $4 <
OpenSSH是SSH(Secure Shell)协议的免费开源实现。很多人误认为OpenSSH与OpenSSL有关联,但实际上这两个计划有不同的目的和不同的发展团队,名称相近只是因为两者有同样的发展目标──提供开放源代码的加密通信软件。
前言 在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭。 像一些高级点的命令,比如说 Xargs 命令、管道命令、自动应答命令等,如果当初我要是知道,那我也可能写出简洁高效的脚本。 不管出于任何原因,我都想对一些 Linux 使用的高级命令进行用法说明,利人利己,以后不记得的话,我也可以回头翻来看看。 一、实用的 xargs 命令 在平时的使用中,我认为 xargs 这个命令还是较为重要和方便的。我们可以通
作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于笔者这种小菜鸡来说,第一反应就是 cat,tail,vi(或vim)了,是的,我曾经用过好多次vim编辑器来查看日志文件(可耻)。
替换 sed 's/abc/efg/g' 变量 定义变量 var=123 var="abc" var='efg' 双引号支持特殊字符转义,单引号则不支持转义 字符串开启转义 echo -e "abc\nd" #abd #d 字符串未开启转义 echo "abc\nd" #abc\nd 数字变量操作 数字变量计算 i=1 echo $((i+5)) #6 遍历i更新 ((i=i+3)) echo $i #9 浮点数字需要用 a=1 b=2.3 echo `awk "BEGI
IOS端的APP渗透测试在整个互联网上相关的安全文章较少,前几天有位客户的APP数据被篡改,导致用户被随意提现,任意的提币,转币给平台的运营造成了很大的经济损失,通过朋友介绍找到我们SINE安全公司寻求安全解决方案,防止APP继续被篡改与攻击,针对客户的这一情况我们立即成立安全应急响应小组,对客户的APP以及服务器进行了全面的安全渗透。
前端展示 --> 索引搜索 <-- 日志提取及过滤 --> 日志缓存 <-- 日志收集 Kibana --> Elastash <-- Logstash --> redis <-- filebeat
1、Nginx 下如何正确的做日志切分 今天发现有个 Nginx 日志 rotation 出来大小是 0,很奇怪,按公司的业务场景来说,这是不可能的。 瞅了下前同事留下来的 rotation 脚本,看到了这么两行,也是他们当时 rotation 的方案: cp tracklog.ooxx.com.access.log ${log_date_dir}/tracklog.ooxx.com.access.log.${log_name_date} > tracklog.ooxx.com.access.log
使用crontable 创建任务后任务会记录到/var/sponl/cron里面去 执行日志保存到/var/log/cron中
1. 为了让我们的代码更规范化,所以搞出了日志等级分类,常见的日志输出等级有DEBUG NORMAL WARNING ERROR FATAL等,再配合上程序运行的时间,输出的内容等,公司中就是使用日志分类的方式来记录程序的输出,方便程序员找bug。 实际上在系统目录/var/log/messages文件中也记录了Linux系统自己的日志输出,可以看到我的Linux系统中之前在使用时产生了很多的error和warning,我们的代码也可以搞出来这样的输出日志信息到文件的功能。
1.在新服务器上安装并搭建好gitlab2.手动+自动将旧服务器上的gitlab备份3.手动+自动将gitlab备份包scp到新服务器上4.手动+自动恢复新服务器上的gitlab备份包5.在新旧服务器上自动删除过期备份包
操作完成后,是否要消耗掉我们的一些磁盘空间?需要的话,大概能消耗多少?嗯,是的,这个问题简单的超乎你的想象,但是不知道你否能给你自己一个满意的答案。
date 命令的另一个扩展是 -d 选项,可以快速地查明一个特定的日期。相对于当前日期若干天的究竟是哪一天,从现在开始的若干天或若干星期以后,或者以前(过去)。
编写shell脚本,将/usr/local/test目录下大于100k的文件转移到/tmp目录下:
1.根目录 根目录,即整个文件系统的逻辑终点,用“/”表示 2.一级目录 */bin 包含普通用户和系统、系统管理员可以共享的各种通用程序,如bash、dd、df、gzip、grep、mv和mkdir等常用的基本命令 */boot 包含系统引导程序GRUB及其配置文件、Linux内核文件vmlinuz和磁盘内存映像文件initrd.img等重要引导文件 */dev 包含系统支持的所有设备文件。具体来说,console表示系统控制台,lp0表示打印机,mem表示系统的物理内存,sda表示连接到主控之气上的第一个磁盘,sda1和sda2等则分别表示其中的第一个和第二个磁盘分区,ttyXX表示系统的串口设备等 */etc 包含系统管理和维护方面的所有配置文件,如host.conf、resolv.conf、sysctl.conf和syslog.conf等。此外,还有大量的配置文件分别为与单独的子目录中。需要注意的是,要定期使用Backups备份工具备份这个目录中的重要配置文件,以便需要时能够快速地恢复系统 */home 包含所有普通用户的家目录。每增加一个新用户,系统将会在/home目录中创建一个和用户名相同的子目录作为该用户的家目录 */lib 包含系统引导过程,以及运行系统命令所需要的内核模块和各种动态链接共享库文件(扩展名为.so,类似于Windows系统中的.dll文件) */lost+found 每个文件系统分区都存在一个lost+found目录,用于存储fsck命令在检测与dufus文件系统时删除的文件和目录 */media 包含移动存储介质(移动硬盘或U盘)的挂载点,如插入U盘,系统将会自动将U盘挂载在此目录下的某个子目录中 */mnt 包含所有自定义的文件系统的挂载点,可以挂载任何文件系统,如NFS或CIFS网络文件系统 */opt 应用程序等附加软件的安装目录,类似于Windows系统中的Program Files目录 */proc 虚拟文件系统,系统关闭时为空目录,系统运行时进程文件系统根目录,其中的部分文件分别对应当前正在运行的进程,可用于访问当前进程的地址空间 */root 超级用户root的家目录 */sbin 包含超级管理员的常用工具,如管理和维护、系统引导和修复命令集合 */srv 分担了/var目录的一些功能,保存一些网络服务所用的数据文件 */sys 和proc一样是虚拟目录,系统各种设备配置信息的根目录,如block子目录中含有磁盘及磁盘分区的配置信息 */tmp 临时文件目录,用于存储系统运行过程中生成的临时文件,也可以供用户存储自己的临时文件。需要注意的是,只有文件的创建者才能删除相应的文件 */usr 此目录既可以作为根目录下的一个子目录,其中保存系统提供的各种共享数据(如用户命令、库函数、头文件和文档等),又可以作为一个单独的文件系统,可以认为是对根目录的一个递归目录,使得文件系统具有更大的灵活性 */var 该目录和/usr目录类似,首先是根目录下的一个子目录,也可作为一个单独的文件系统,用于存储各种可变长的数据文件(如日志文件)、暂存文件或待处理的临时文件等 3.重要的二级目录 */boot/grub 其中存有GRUB配置文件,以及3种不同的初始引导程序等 */etc/apt 其中包含软件管理工具使用的配置文件,如sources.list等 */etc/cron.d 用于存储corn进程调度与运行后台程序所用的配置和控制文件。其他有关的目录包括:corn.hourly、corn.daily、corn.weekly和corn.monthly4个目录 */etc/init.d 用于存储系统启动过程中需要由init调度执行的脚本文件 */etc/network 其中包含网络接口的配置文件interface,以及相关的配置工具 */etc/X11 其中包含X服务器使用的各种配置文件,如xorg.conf等 */usr/bin 其中包含用户经常使用的各种命令 */usr/include 用于存储各种C语言头文件。这个目录及其子目录中的头文件是C开发人员需要经常引用的文件。其中,sys、linux和bits等子目录中定义的数据结构,对于深入学习、理解和掌握Linux系统具有极大的参考价值 */usr/lib 其中包含各种共享的库函数,可供程序员以静态或动态的方式链接自己开发的应用程序 */usr/sbin 其中包含系统引导完成之后系统管理员经常使用的各种系统管理和维护命令 */usr/share 共享目录,其中包含man(联机文档的根目录)、info(GNU inf
linux shell 常见的面试问题,基本是先让你随便说一些,测试一下你掌握的广度,这时候你至少要说上十个才行,但是!不要说太难的,否则很容易掉进自己的坑里,相当于提醒了面试官去问你 : find ,vi编辑器这种会让面试官出一个极复杂的命令。但是之后 面试官仍然会出一些 非常复杂的命令,本小节复习,除了基础中常见的命令之外,还有常见的复杂命令。
最近通过Cowrie蜜罐捕获一枚有趣的后门程序,此程序用perl语言编写。功能包括:DDoS(udpflood、tcpflood、httpflood、sqlflood)、hacking(端口扫描、信息
0-9:-4表示从倒数第9个字符开始,向后截取所有字符,当同时指定截取长度为":-4"时,表示从倒数第9个字符向后截取所有字符以后,删除截取以后的字符的最后4个字符,也可以理解成截取最后9个字符的前5个字符。
在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭。
(redis.memcache(内存数据库,高速缓存),mongodb(文档数据库))
你有没有经历过:一大早就被疯狂的报警炸醒,由于线上应用 CPU 占用率过高 ......
date - print or set the system date and time
作者 | antwang 链接 | juejin.im/post/5aa09bb3f265da238f121b6c
领取专属 10元无门槛券
手把手带您无忧上云