前言
运维工作两年多了一直没有系统的整理平时工作中所用到的命令,在碰到问题的时候一般只能记得到常用的选项,一些不常用的命令及选项很容易生疏,在这里详细整理。
故障分类
- http 5xx 4xx 错误
- 服务还在相应,但是延迟很大
- 无响应
后续添加
一、服务器登录情况及操作记录
相对而言生产服务器的 ssh 权限是有控制的,特别是 root 用户,ssh 的端口一般也不使用 22,后台应用一般使用新建的用户启动的,偶尔查看日志等操作也都是在 support(只读权限)下进行的。
而登录生产服务器的方式一般有:堡垒机、VPN、特定 IP 等方式;
推荐几个开源软件:jumpserver、openvpn,限制 ip 访问则可以通过 iptables 来限制。
说完了权限管理,下面整理在遇到问题时候怎么查看服务器的登录情况:
- w
显示系统目前登入的用户信息。
- last
显示近期用户或终端的登录情况。
last 通过读取系统 /var/log/wtmp 二进制文件,该文件记录了每个用户登录、注销及系统的启动和停机时间。
- who
查看当前登录用户信息,who 程序也可以读取 /var/log/wtmp 文件中的信息,who /var/log/wtmp
- lastlog
显示所有用户最近一次登录历史,lastlog 读取 /var/log/lastlog 文件,并按照 /etc/passwd 顺序显示
- ac
读取 /var/log/wtmp 文件,并显示登录和退出时间报告用户在线时间;
Linux 是一个多用户使用的系统,这也是它最出色的地方之一,在系统中,每个用户执行的命令都会缓存在内存中,当用户成功注销之后,这些命令会被记录到家目录下的 .bash_history 中。
- history
用户执行命令历史记录,history 读取用户的 .bash_history 文件,显示该用户在上次注销前执行的命令,环境变量 HISTTIMEFORMAT 可以显示这些命令的执行时间,
export HISTTIMEFORMAT='%F %T '
可以添加到 /etc/profile 中