【Linux】磁盘空间满了如何处理

简介: 【Linux】磁盘空间满了如何处理

今天运维系统提示磁盘满了,那么应该如何排查和处理呢?

方案

首先,运维系统报警一般会给磁盘哪个目录报警,如果没有可以在’~’ 目录查看

输入如下命令

cd ~
df -h

如果知道是哪个目录则可以执行如下命令

显示当前目录下的所有目录的大小,并且倒序排序

 du -sh * | sort -rh

这样就可以知道具体是哪个目录了,不过一般是日志文件满了

定期清理压缩日志文件脚本

脚本如下

#!/bin/bash
time=`date +%Y-%m-%d`
filedir=/testwebserverLog/info
zipdir=/test/backlog

#压缩指定目录下12天前的文件,存放到指定目录下并以时间命名
find $filedir -mtime +12 -name '*.log' -exec zip /$zipdir/$time.zip {} \;

#删除指定目录下12天前的文件
find $filedir -mtime +12 -name '*.log' -exec rm -rf {} \;

#删除压缩文件存放目录下6个月前的文件
find $zipdir -mtime +180 -name '*.log' -exec rm -rf {} \;

增加cron定时任务

crontab -e

i 进入编辑模式,在下方增加一个任务 :wq保存即可

1 0 * * * /test/clean.sh    #每天凌晨12点1分执行

没有改变会提示

输入crontab -e即可查看定时任务列表

crontab -e

如果没有cron

安装

yum -y install vixie-cron
yum -y install crontabs

启动

cron 是 linux 的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
service crond start     //启动服务
service crond stop      //关闭服务
service crond restart   //重启服务
service crond reload    //重新载入配置
service crond status    //查看crontab服务状态

在CentOS系统中加入开机自动启动: chkconfig --level 345 crond on

范例

  • *  *  *  *  command
    分 时 日 月 周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart

上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每星期六的11 : 00 pm重启apache。

  • */1 * * * /usr/local/etc/rc.d/lighttpd restart
    每一小时重启apache
  • 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
    晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart

每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart

一月一号的4点重启apache

*/30 * * * * /usr/sbin/ntpdate 210.72.145.44

每半小时同步一下时间

目录
相关文章
|
4月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 检查磁盘空间限制的状态 repquota命令使用指南
【Shell 命令集合 磁盘管理 】Linux 检查磁盘空间限制的状态 repquota命令使用指南
72 0
|
4月前
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 显示文件系统的磁盘空间使用 df命令使用指南
【Shell 命令集合 磁盘管理 】Linux 显示文件系统的磁盘空间使用 df命令使用指南
82 0
|
11月前
51Linux - 系统管理(检测目录所占磁盘空间:du)
51Linux - 系统管理(检测目录所占磁盘空间:du)
45 0
|
4月前
|
存储 Kubernetes Linux
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
562 0
|
8天前
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
4月前
|
Ubuntu Linux 数据库
【Linux】深入了解Linux磁盘配额:限制用户磁盘空间的利器
【Linux】深入了解Linux磁盘配额:限制用户磁盘空间的利器
|
8天前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
11天前
|
Linux API
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
|
8天前
|
监控 Linux
在Linux中,使用哪⼀个命令可以查看自己文件系统的磁盘空间配额呢?
在Linux中,使用哪⼀个命令可以查看自己文件系统的磁盘空间配额呢?
|
10天前
|
Linux
在Linux中,如何检查磁盘空间使用情况?
在Linux中,如何检查磁盘空间使用情况?
下一篇
云函数