云服务器部署网站或者程序,出现 500 报错、接口异常时,日志是排查问题最重要的依据。Linux 中 tail 用于读取日志文件末尾内容,搭配 grep 过滤关键词,可以快速检索报错信息,是运维排查故障的常用组合命令。
tail 命令默认读取文件最后 10 行内容。
# 查看日志最后10行
tail /var/log/nginx/access.log
# 查看日志最后50行
tail -n 50 /var/log/nginx/error.log
# -f 实时监听日志,日志新增内容会持续输出(最常用)
tail -f /var/log/nginx/error.log
实时查看日志,只抓取包含指定关键词的记录,比如搜索 error 报错:
# 实时监控日志,只输出带有error的行
tail -f /var/log/nginx/error.log | grep error
# 忽略大小写搜索,Error、ERROR都可以匹配
tail -f /var/log/nginx/error.log | grep -i error
# 一次性查找日志文件里面所有404记录
grep "404" /var/log/nginx/access.log
# 搜索关键词,并且显示匹配行前后5行上下文
grep -C5 "500" /var/log/nginx/error.log
/var/log/nginx/access.log/var/log/nginx/error.log/var/log/messagestail -f实时跟踪日志,复现网站报错的时候,可以同步观察输出tail 负责实时查看日志新增内容,grep 负责过滤关键词。网站报错、程序异常排查时,这组命令可以快速定位错误原因,是云服务器运维必不可少的日志排查工具。