【Linux】Linux服务器磁盘已满,定位大文件位置,并定时清理

本文介绍了如何在Linux服务器上清理已满的磁盘空间,通过`df-lh`命令定位满载磁盘并使用`find`查找大文件,然后谨慎使用`rm-rf`命令删除。同时,讲解了如何设置`crontab`定时任务来定期清理日志,包括启动、编辑和查看`crontab`,以及编写和授权执行shell脚本。这是一个关于Linux系统管理和维护的实践记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、前言

最近线上有个场景,需要清理线上日志。清理的原因是一个程序产生了大量的无用中间文件。

为了清理磁盘空间,直接删除即可。

2、定位磁盘

(1) 首先登录服务器

确认磁盘已满的问题:

df -lh 查看 磁盘的使用情况,这里可能存在多个挂载。根据需要清理磁盘即可,如图:

在这里插入图片描述
此处我找了一个服务器查看,并不是已满的服务器。

Filesystem 就是文件系统名称
Size 就是使用总挂载磁盘空间大小
Used 就是使用磁盘空间大小
Avail 为剩余磁盘空间大小
Use% 为使用百分比大小,当看到100%的时候就需要清理磁盘了
Mounted on 为挂载具体地址

(2) 定位日志

假如存在 挂载在/usr 下磁盘已满

find /usr -size +100M # 为查询 /usr 下大于100m的所有文件

(3) 删除文件

rm -rf xxxx 慎重使用

为了防止误操作,可以跳转到具体文件目录下,直接文件全名删除。

如果存在多个文件需要删除,例如带有时间,带有log,就可以直接

rm -rf *log*

删除,但是执行的时候一定要慎重,再次声明。

3、定时清理

  • 查看crontab 启动
    此处使用linux crontab 执行,首先查看crontab 是否启动,
cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

/sbin/service crond start
/sbin/service crond stop
/sbin/service crond restart
/sbin/service crond reload


以上1-4行分别为启动、停止、重启服务和重新加载配置。

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可

查看当前用户的crontab,输入 crontab -l;

编辑crontab,输入 crontab -e;

删除crontab,输入 crontab -r

查看crontab运行状态
service crond status

crontab 启动状态来自网站

  • 脚本编写
    (1)在当前文件夹下,例如 /root, 编写shell 删除脚本 a.sh, 例如 写入 rm -rf Log,可以在正式之前先进行测试,
    例如输入数据到1.txt, echo “hello world” >> 1.txt
    (2)创建cron 定时任务,这里可以查看cron 表达式的写法,简单的话 就是
  例如 0 1 * * * 代表 每天1点,* 代表任意,五位分别为: 分钟/小时/日期/月份/年份
  假如 每2分钟执行一次, */2 * * * * 		

我这里就是每天1点清理

创建 a.cron 文件,写入内容

0 1 * * *  /root/a.sh  

这里式为了定时执行shell 脚本
(3)文件授权
这里是给a.cron 和 a.sh 赋予单独的读写权限。

  chmod 755 a.* 

(4)加入定时任务

crontab a.cron

(5) 查看 定时任务

crontab -l

(6)移除定时任务

contab -r 是移除所有任务,慎重使用,一下子所有任务都没了

contab -e  是vi对定时任务编辑,直接dd 就可以删除光标当前行任务,然后 esc切换命令,:wq 保存即可。

再次查看就没有这个定时任务了。

这里的操作还是比较简单的,这里是做一个记录。谢谢观看。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值