GNU sed

查看线上日志常用命令

情到浓时终转凉″ 提交于 2019-11-30 05:44:06
cat 命令(文本输出命令) 通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们要输出当前这个日志的前后几行: 显示file文件里匹配nick那行以及上下5行 cat error.log | grep -C 5 'nick' 显示nick及前5行 cat error.log | grep -B 5 'nick' cat error.log | grep -A 5 'nick' 显示nick及后5行 less 命令(分页查看文件内容) 分页查看日志,但是中文有乱码 less error.log 直接定位到第100行 less +100g xx.log 定位到最后一行 less +GG xx.log 查找并高亮关键字 less fis.log.2018-05-20 | grep 2018052019004984219071028 -A 5 --color=auto 移动日志 G :到日志最后 g :到日志最前面 j/↑ :向前移动一行 k/↓ :向后移动一行 pgup :向上翻页 pgdn :向下翻页 搜索所需内容 /nick:在日志文件中查找 nick n:向下查找下一个匹配的文本 N: 向上查找下一个匹配的文本 tail 命令(显示文件结尾) 显示文件file的最后10行 tail file 滚动输出日志 tail -f

安装kubernetes 集群

淺唱寂寞╮ 提交于 2019-11-30 04:19:31
使用 kubeasz 安装 kubernetes 集群 kubeasz github https://github.com/easzlab/kubeasz 配置:4核心 8GB内存(仅master角色2G内存也行) 系统:CentOS-7.6 1810 Minimal 注意: 1.开始安装前确保系统时间正常 2.所有命令只需要在部署节点(192.168.2.71)执行 3.只需要更改 配置变量中的 SERVER_NAM SERVER_IP 变量 与 /etc/ansible/hosts 配置文件 其他参数均以变量方式自动识别 角色信息: etcd: 192.168.2.71 192.168.2.72 192.168.2.73 kube-master: 192.168.2.71 192.168.2.72 kube-node: 192.168.2.72 192.168.2.73 192.168.2.74 chrony: 192.168.2.71 配置变量 # 替换变量值为实际IP地址 注意主机名与IP个数对应 以空格分隔 SERVER_NAME=(node01 node02 node03 node04) SERVER_IP=(192.168.2.71 192.168.2.72 192.168.2.73 192.168.2.74) 设置本地Host解析 # 清理 hosts(只保留2行

Linux Shell Day27

 ̄綄美尐妖づ 提交于 2019-11-30 03:10:54
79.批量删除日志 80.房贷计算器 81.监控磁盘 82.查看tomcat日志 83.打印城市名字 84.代码上线 批量删除日志 题目要求 要求:两类机器一共300多台,写个脚本自动清理这两类机器里面的日志文件。在堡垒机批量发布,也要批量发布到crontab里面。 A类机器日志存放路径很统一,B类机器日志存放路径需要用_匹配(因为这个目录里除了日志外,还有其他文件,不能删除。匹配的时候可用_.log) A类:/opt/cloud/log/ 删除7天前的 B类: /opt/cloud/instances/ 删除15天前的 要求写在一个脚本里面。不用考虑堡垒机上的操作,只需要写出shell脚本。 核心要求 判断机器是A类还是B类是关键点 代码 #!/bin/bash #这个脚本用来删除老日志 dir1=/opt/cloud/log/ dir2=/opt/cloud/instance/ if \[ -d $dir1 \] then find $dir1 -type f -mtime +7 |xargs rm elif \[ -d $dir2 \] then find $dir2 -name "*.log" -type f -mtime +15 |xargs rm fi 房贷计算器 题目要求 贷款有两种还款的方式:等额本金法和等额本息法,简单说明一下等额本息法与等额本金法的主要区别:

教你3分钟搞定Linux正则表达式

时光总嘲笑我的痴心妄想 提交于 2019-11-30 00:45:05
正则表达式是一种字符模式,用于在查找过程中匹配制定的字符。 元字符通常在 Linux 中分为两类:Shell元字符,由Linux Shell进行解析; 正则表达式元字符,由vi/grep/sed/awk等文本处理工具进行解析; 正则表达式一般以文本行进行处理,在进行下面实例之前,先为grep命令设置--color参数: class="">$ alias grep='grep --color=auto' 这样每次过滤出来的字符串都会带色彩了。 在开始之前还需要做一件事情,就是创建一个测试用的re-file文件,内容如下: class="">$ cat re-file I had a lovely time on our little picnic. Lovers were all around us. It is springtime. Oh love, how much I adore you. Do you know the extent of my love? Oh, by the way, I think I lost my gloves somewhere out in that field of clover. Did you see them? I can only hope love. is forever. I live for you. It's hard to

Linxu Shell Day26

不问归期 提交于 2019-11-30 00:34:10
73.问候用户 74.格式化输出xml 75.小函数 76.批量杀进程 77.查找老日志打包 78.处理文本 问候用户 题目要求 写一个脚本,依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么,如: Hello, root,your UID is 0. 核心要点 对/etc/passwd每一行做遍历,截取第一段用户名和第三段uid,然后格式化输出即可 代码 #!/bin/bash #这个脚本用来问候用户 cat /etc/passwd |while read line do username=\`echo $line|awk -F ':' '{print $1}'\` uid=\`echo $line|awk -F ':' '{print $3}'\` echo "Hello, $username, your uid is $uid." done 格式化输出xml 题目要求 linux系统 /home目录下有一个文件test.xml,内容如下: <configuration> <artifactItems> <artifactItem> <groupId>zzz</groupId> <artifactId>aaa</artifactId> </artifactItem> <artifactItem> <groupId>xxx</groupId>

使用top分析tomcat容器占用的内存排行

末鹿安然 提交于 2019-11-29 23:53:33
命令: top -b -n1 | awk 'NR<=7{print;next}{n=$6;if(n~/m/)n*=1024;if(n~/g/)n*=1024*1024;a[sprintf("%12d",n)]=$0"\n"a[n]}END{c=asorti(a,b);for(n=c;n>0;n--)printf("%s", a[b[n]])}'|grep -A 10 'COMMAND' |grep 'java'|awk '{print $1 " " $6}'|while read line; do pid=$(echo $line|awk '{print $1}'); mem=$(echo $line|awk '{print $2}'); name=$(cd /var/lib/docker/containers ;grep -R Pid ./*|grep Pid|grep ${pid}|grep -o "\"/[a-zA-Z]*-0"|sed 's#"/##'); echo -e "${pid}\t${mem}\t${name}"; done CRT button: top -b -n1 | awk 'NR<=7{print;next}{n=$6;if(n~/m/)n*=1024;if(n~/g/)n*=1024*1024;a[sprintf("%12d",n)]=$0"\\n"a

[awk] 7 个 print 例子

微笑、不失礼 提交于 2019-11-29 21:52:44
Awk Introduction Tutorial – 7 Awk Print Examples https://www.thegeekstuff.com/2010/01/awk-introduction-tutorial-7-awk-print-examples/ This is the first article on the new awk tutorial series. We’ll be posting several articles on awk in the upcoming weeks that will cover all features of awk with practical examples. In this article, let us review the fundamental awk working methodology along with 7 practical awk print examples. Note: Make sure you review our earlier Sed Tutorial Series . Awk Introduction and Printing Operations Awk is a programming language which allows easy manipulation of

Linux Shell DAY24

岁酱吖の 提交于 2019-11-29 19:09:26
61.找文件差异 62.杀进程 63.并发备份数据库 64.监控CDN节点 65.破解字符串 66.判断cpu厂商 找文件差异 题目要求 有两个文件a.txt和b.txt,需求是,把a.txt中有的但b.txt中没有的行找出来,并写入到c.txt,然后计算c.txt文件的行数。 核心要求 可以使用while循环遍历a.txt,逐行进行匹配,如果这一行在b.txt中没有,就直接重定向到c.txt即可 grep -f 逐行匹配有的 , grep -vf逐行查看没有的 grep -vf b.txt a.txt a中有的b中没有 代码 #!/bin/bash #这个脚本用来比较文件差异 cat a.txt|while read line do if ! grep -q "$line" b.txt then echo $line fi done >c.txt wc -l c.txt 杀进程 题目要求 把当前用户下所有进程名字中含有"aming"的进程关闭。 核心要点 ps -u $USER 代码 #!/bin/bash #这个脚本用来杀进程 ps -u $USER|awk '$NF ~ /aming/ {print $1}' |xargs kill 并发备份数据库 题目要求 用shell实现,以并发进程的形式将mysql数据库所有的表备份到当前目录,并把所有的表压缩到一个压缩包文件里。

android ffmpeg4.0.2编译过程记录

吃可爱长大的小学妹 提交于 2019-11-29 19:05:19
这里记录一下ffmpeg的编译过程并且在Andorid中使用的过程。 编译ffmpeg 这里拿的当前日期最新的release版本ffmpeg4.0.2,编译环境mac,下载mac版本的ffmepg后进行编译,编译脚本build.sh如下: #!/bin/bash export NDK=/Users/linchen/Library/Android/sdk/ndk-bundle export SYSROOT=$NDK/platforms/android-19/arch-arm/ export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64 export CPU=arm export PREFIX=/Users/linchen/Desktop/arm #最终编译后的头文件以及so包的位置 export ADDI_CFLAGS="-marm" function build_one { ./configure \ --prefix=$PREFIX \ --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ --arch=arm \ --sysroot=$SYSROOT \ --extra-cflags="-Os -fpic $ADDI