查看log
- cat
cat -n radiance/shared/log/sidekiq.log | grep 'xxx' => 11111
# 可得到关键字在log的哪一行
cat -n radiance/shared/log/sidekiq.log | tail -n +11111 | head -n 200 | more
# 换页查看1111行开始的log的前200行,用空格切换下一页
查看压缩日志 log.6.gz
zcat old/staging.log.6.gz | tail -968232 | grep -Ev '(load_balance_test)' | more
- tail
tail -f radiance/shared/log/sidekiq.log
# 动态监控log
tail -f radiance/shared/log/sidekiq.log | grep 'abc'
# 查有abc关键字的log
tail -f /srv/www/lu_ying_test/shared/log/test.log |grep -Ev '(cable|WebSocket|unauthorized)'
# 查不包含 cable|WebSocket|unauthorized 关键字的log
tail -n 100 radiance/shared/log/sidekiq.log
# log结尾倒数100行
- head
head -n 100 radiance/shared/log/sidekiq.log
# log正数100行
- grep
grep --after-context=5 --before-context=10 'keyword' /xxx.log
- 查看根目录下各文件大小
du -h --max-depth=1 /
- 查找当前目录下最大目录/文件(包括子文件夹)
sudo du -Sh | sort -rh | head -n10
- 查找根目录下最大目录/文件(包括子文件夹)
sudo du -Sh / | sort -rh | head -n10
- 查找/root下5个最大的文件
du -ah /root | sort -nr | head -n5
- 查找当前目录下最大的5个目录
du -ah | sort -nr | head -n5
- 查找当前目录下最大的5个目录
du -ah | sort -rh | head -n5
删除log
-
rm xxx.log
这种删除后空间不会释放,因为在继续向xxx.log写日志,通过lsof | grep deleted
可以看到应被删的文件的pid
用kill pid
或者重启服务器的方法可以释放空间 -
echo > /root/work/services/radiance/log/newrelic_agent.log
-
echo > /srv/www/new_radiance_server/new_radiance_prod/shared/log/production.log
这种方式可以直接清空log,释放空间
清空 /var/log/journal 文件的方法
1、用echo命令,将空字符串内容重定向到指定文件中
echo “” > system.journal
说明:此方法只会清空一次,一段时间后还要再次手动清空很麻烦,这里可以用以下命令让journalctl 自动维护空间
2、journalctl 命令自动维护文件大小
1)只保留近一周的日志
journalctl --vacuum-time=1w
2)只保留500MB的日志
journalctl --vacuum-size=500M
3)直接删除 /var/log/journal/ 目录下的日志文件
rm -rf /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1