如何查询指定时间范围内的日志
搞代码的都离不开通过查看日志处理问题;服务器上记录的日志都比较大,不会把整个日志文件拿来分析,通常会截取时间范围内的日志来分析问题,介绍几种查询时间范围日志方法。
处理文件肯定是离不开linux三剑客grep、sed、awk的。
演示截取2点到9点的日志
测试日志文件test.log
,模拟所有2点到11点日志
1 | {"timestamp":"2022-09-27T02:12:59+08:00","level":"debug"} |
正则方式
grep不支持范围,awk和sed支持范围,三个都支持正则匹配
linux编译安装gcc
下载指定版本http://ftp.gnu.org/gnu/gcc/
1 | wget http://ftp.gnu.org/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.xz |
解压
1 | tar -xvf gcc-8.1.0.tar.xz |
编译
1 | 安装依赖 |
2cup+8g大概用了4个小时
加软链接
1 | 如果有老的版本先备份 |
验证是否安装成功
1 | gcc --version |
linux安装golang
下载golang指定版本https://studygolang.com/dl
1 | 下载 |
设置环境变量
在.bashrc
文件中添加
1 | export GOROOT=/usr/local/go |
激活环境变量
1 | source ~/.bashrc |
测试安装结果
1 | go env |
用户加入sudo列表
新创建的用户,使用sudo
切换到root
时提示错误
1 | xxx is not in the sudoers file. This incident will be reported. |
解决方法:
1 | 切换到`root`下 |
linux用户管理
创建用户
创建一个用户
1 | useradd username |
创建用户并创建用户目录
1 | useradd -m username |
创建用户不创建用户目录
1 | useradd -M username |
创建用户不用于登录
1 | useradd -s /sbin/nologin |
创建用户不用于登录和不创建目录
1 | useradd -s /sbin/nologin -M username |
删除用户
1 | userdel username |
把用户目录也删掉
1 | userdel -r username |
设置密码
1 | passwd username |
用户组
创建组
1 | groupadd groupname |
删除组
1 | groupadd groupname |
用户加入组
1 | usermod -G groupname username |
用户加入组(并从原来组中移出)
1 | usermod -g groupname username |
用户移出用户组
1 | gpasswd -d username groupname |
相关查看
所有用户
1 | cat /etc/passwd |
所有用户组
1 | cat /etc/group |
ssh长时间保持不断开
远程ssh连接服务器,默认长时间不用会自动断开,设置不自动断开方式有三种
客户端连接加参数
1 | 相当于每隔120秒向服务器发送心跳 |
客户端设置配置
如果ssh服务器信息放~/.ssh/config
中的,设置ServerAliveInterval
值
1 | Host alias |
服务器配置
修改sshd_config
1 | vi vim /etc/ssh/sshd_config |
nodejs安装
各个linux系统的包管理都可安装nodejs,但安装的版本往往不是自己想要的版本,最好是手动安装
下载
去nodejs中文网找到自己想要的版本
1 | wget https://npmmirror.com/mirrors/node/v16.13.1/node-v16.13.1-linux-x64.tar.xz |
解压
1 | tar -xvf node-v16.13.1-linux-x64.tar.xz |
移动到指定位置
1 | sudo mv node-v16.13.1-linux-x64 /usr/local/node |
链接
1 | sudo ln -s /usr/local/node/bin/node /usr/bin/node |
添加到path
在.profile或者.bashrc中添加
1 | PATH=$PATH:/usr/local/node/bin |
添加镜像源
1 | npm config set registry "https://registry.npm.taobao.org" |
在shell中执行一个字符串
写shell脚本时经常会拼接一个字串,然后当成命令执行,用到的linux命令是eval ${str}
或者echo ${str} | sh
,例子如下:
1 |
|