目 录
一、Linux运行很久,发现磁盘空间不足
今天发现一个视频平台的服务器运行特别慢,输入命令,很长时间才有反应,查看硬盘,发现硬盘已满,如下:
[root@localhost CMS]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/cl-root 52403200 52402206 994 100% /
devtmpfs 3826724 0 3826724 0% /dev
tmpfs 3843328 228 3843100 1% /dev/shm
tmpfs 3843328 33852 3809476 1% /run
tmpfs 3843328 0 3843328 0% /sys/fs/cgroup
/dev/sda1 1038336 179388 858948 18% /boot
/dev/mapper/cl-home 251097304 58056592 193040712 24% /home
tmpfs 768668 20 768648 1% /run/user/1000
tmpfs 768668 12 768656 1% /run/user/42
tmpfs 768668 0 768668 0% /run/user/1001
[root@localhost CMS]#
二、找到原因,是日志文件积累太多
经过一番查找,发现日志文件积累的太多,如下:
三、编写脚本,删除以前的日志文件
于是决定把/usr/local/cms/log下的所有文件遍历一遍,删除1年前所有的文件。这样就需要写一个bash脚本。如下:
#!/bin/bash
# 定义日志文件目录
LOGFILE_DIR="/usr/local/cms/log "
# 定义3个月前的日期(以秒为单位)
ONE_YEAR_AGO =$(date -d "1 year ago" +%s)
# 使用find命令查找并删除匹配的文件
find "$LOGFILE_DIR" -type f -newermt "$ONE_YEAR_AGO" ! -newermt "$(date +%s)" -delete
1,保存为 del_logs.sh
2,赋予执行权限:
[root@ecs-52a1 vidisit]# chmod +x del_logs.sh
3,执行脚本:
[root@ecs-52a1 vidisit]#./del_logs.sh
4,发现磁盘空间变为90%,感觉到还不行,只有再把更多的文件删除,于是修改脚本:
#!/bin/bash
#定义日志文件目录
LOGFILE_DIR="/usr/local/cms/log "
# 定义3个月前的日期(以秒为单位)
THREE_MONTHS_AGO=$(date -d "3 months ago" +%s)
# 使用find命令查找并删除匹配的文件
find "$LOGFILE_DIR" -type f -name "*.log" -newermt "$THREE_MONTHS_AGO" ! -newermt "$(date +%s)" -delete
5,执行脚本:
[root@ecs-52a1 vidisit]#./del_logs.sh
6,发现磁盘空间变为60%,感觉可以了。操作起来回复以前的节奏了。,