/dev/mapper/centos-root 100% 目录空间占满了 解决方法

今天突然遇到公司一个平台 验证码无法加载 查看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

猜你喜欢

转载自blog.csdn.net/weixin_52998454/article/details/130431505
今日推荐