1.时间格式: [2022-11-23 16:49:50.197]
sed -n '/2022-11-23 16:20:00/,/2022-11-23 16:50:00/p' server.log.2022-11-23.0 > api.log
2.时间格式: [24/Nov/2022:00:38:32 +0800] (例:nginx \access.log )
sed -n '/15\/Nov\/2022:09:00:00/,/15\/Nov\/2022:09:25:00/p' access.log
3.打印匹配行的前后5行
grep -5 'api-sm' server.log.2022-11-23.0
4.打印匹配行的前后5行
grep -C 5 'api-sm' server.log.2022-11-23.0
5.打印匹配行的后5行
grep -A 5 'api-sm' server.log.2022-11-23.0
显示之后的一行(After 1)
6.打印匹配行的前5行
grep -B 5 'api-sm' server.log.2022-11-23.0
显示之前的一行(Before 1)
7.截取最后1000行日志
tail -f -n 1000 server.log.2022-11-23.0
8.截取前1000行日志
head -n 1000 server.log.2022-11-23.0
9.日志定时割切
#crontab -l
#59 23 * * * /bin/bash /opt/nginxLog/logrotate_nginx_log.sh > /dev/null 2>&1
nginx_log_path="/opt/nginxLog"
function logrotate_nginx_log(){
if [ -d "${nginx_log_path}" ]; then
cd ${nginx_log_path}
mkdir -p cutlog/
cp error.log cutlog/error-$(date -d "today" +"%Y%m%d").log
gzip cutlog/
echo > error.log
cp access.log cutlog/access-$(date -d "today" +"%Y%m%d").log
gzip cutlog/
echo > access.log
find ${nginx_log_path}/cutlog -mtime +7 -type f -name "*.log.gz" -exec rm -f {} \;
fi
}
logrotate_nginx_log
10.安装模块查看
nginx -V 2>&1 | grep -o with-http_stub_status_module