今天突然遇到公司一个平台 验证码无法加载 查看redis nginx nacos上开的服务也都正常 后来重启验证码相关服务 开一会又挂了。经查日志发现是系统盘沾满了
[root@redis-zuul-eureka-mysql ~]# df -h //查看到/dev/mapper/centos-root 100% 满载了
解决方法:
[root@redis-zuul-eureka-mysql ~]# cd /root //进入根目录
[root@redis-zuul-eureka-mysql ~]# du -h -x --max-depth=1 //查看文件占用大小
发现logs目录占用空间过大达到45G
[root@redis-zuul-eureka-mysql ~]# cd /root/logs //继续查看目录下是什么内容
发现csp目录下有大量文件占了45G多 主要是日志文件 sentinel-record.log 之类的
进入到目录下查看
[root@redis-zuul-eureka-mysql ~]# cd /root/logs/csp //进入占用大量文件目录
[root@redis-zuul-eureka-mysql ~]# ll //展示文件 ,可以用cat sentinel-record.log 查看下具体是什么内容 如果确定是没用的日志 删掉就可以释放空间了
于是按指定日期删除对应文件即可(删除前请确认是没用的文件啊。我这里是没用的)
执行删除命令 以下命令代表删除180天前的日志 //时间根据自己需求修改即可。因为我这里比较多 一个一个删除不现实【单个删除文件直接rm -rf 文件名即可】
[root@redis-zuul-eureka-mysql ~]# find /root/logs/csp -mtime +180 -name ".log" -exec rm -Rf {} ;
语句写法
find 文件路径 -mtime +天数 -name "文件名" -exec rm -rf {} ;
-mtime : 标准语句写法
-exec : 固定写法
"*.log" : 代表所有 ,.log代表后缀为.log的所有文件
{} \ : 固定写法
改完后 空间多了很多了。问题解决咯
题外扩展 :
find 的选项:
find /root/logs {-atime /-ctime /-mtime /-amin /cmin /-mmin}
-mtime [-n|n|+n] 按照文件的修改时间来查找文件 [-n 文件更改距离现在n天以内,+n表示文件更改时间距离现在n天以前,n是距离现在第n天]
-atime [-n|n|+n] 按照文件的访问时间来查找文件
-ctime [-n|n|+n] 按照文件的状态改变时间来查找文件
a 、c、m分别对应Access 、Change 、Modify三项 ; time表示天 min表示的是分钟
Access time(atime): 文件最近一次被访问的时间,使用cat命令之后,这个值便会发生变化。
Modify time(mtime):文件内容最近一次被修改的时间。
Change time(ctime): 文件属性最近一次被修改的时间。指文件被变更的时间,这个变更是指文件内容发生修改或者文件权限,路径发生改变。
示例:
查找10天之内修改过的文件 find /root/logs -mtime -10
查找从今天起往前算10天查看过的文件 find find /root/logs -atime 10
查找10天前修改过的文件 find find /root/logs -mtime +10
版权归原作者 liuxp2021 所有, 如有侵权,请联系我们删除。