目? ? ? ? 录
????????今天发现一个视频平台的服务器运行特别慢,输入命令,很长时间才有反应,查看硬盘,发现硬盘已满,如下:
[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%,感觉可以了。操作起来回复以前的节奏了。,