【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命令使用指南
44 0
|
4天前
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 显示文件系统的磁盘空间使用 df命令使用指南
【Shell 命令集合 磁盘管理 】Linux 显示文件系统的磁盘空间使用 df命令使用指南
38 0
|
7月前
51Linux - 系统管理(检测目录所占磁盘空间:du)
51Linux - 系统管理(检测目录所占磁盘空间:du)
36 0
|
4天前
|
存储 Kubernetes Linux
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
191 0
|
4天前
|
Ubuntu Linux 数据库
【Linux】深入了解Linux磁盘配额:限制用户磁盘空间的利器
【Linux】深入了解Linux磁盘配额:限制用户磁盘空间的利器
|
7月前
|
Linux 虚拟化
VMware虚拟机中Linux系统磁盘空间扩容实战
VMware虚拟机中Linux系统磁盘空间扩容实战
335 0
|
4天前
|
安全 机器人 Shell
shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警
shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警
58 0
|
9月前
|
存储 Linux 索引
掌握磁盘空间:深入了解Linux命令`df`
在Linux系统管理中,了解磁盘空间的使用情况是至关重要的,尤其在处理大量数据和文件时。`df`命令作为一个简单而强大的工具,可以帮助你查看文件系统的磁盘空间使用情况。本文将详细介绍`df`命令的基本概念、用法和一些技巧。
100 0
|
10月前
Linux-磁盘空间转移
磁盘空间转移
217 0
|
4天前
|
Linux 应用服务中间件 Shell
Linux下使用df与du命令查看磁盘空间
Linux下使用df与du命令查看磁盘空间
126 0