[linux]查看、删除log方法

查看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行,用空格切换下一页
  • 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行
  • 查看根目录下各文件大小
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

  1. rm xxx.log
    这种删除后空间不会释放,因为在继续向xxx.log写日志,通过 lsof | grep deleted 可以看到应被删的文件的pid
    kill pid 或者重启服务器的方法可以释放空间

  2. echo > /root/work/services/radiance/log/newrelic_agent.log

  3. 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

你可能感兴趣的:(Linux,linux,ruby,运维)