shell脚本定时删除大小超200M的日志文件

需求

某个服务器的日志文件随着时间的增长越来越多,我不想自己一个个的删除,但是不删除的话,会很麻烦,万一因为日志文件导致内存满了就麻烦了!


实现步骤

1、写好实现的脚本

我要查找>200M的日志文件

find / -type f -size +200M -name "*.log"

2、删除脚本的命令

进入目录 cd /dev

创建文件夹 mkdir sh

进入文件夹 cd sh

创建脚本文件 touch delete_log.sh

编辑脚本文件 vi delete_log.sh

内容如下

#!/bin/bash
for name in $(find / -type f -size +100M -name "*.log");do
        rm -rf ${name}
done



在执行脚本之前,我们要看看是否有大小大于100M的日志文件

sudo find / -type f -size +100M -name "*.log"

有三个符合的日志文件;

现在我创建一个定时任务

这个是编辑定时任务

crontab -e

59 13 * * * /dev/sh/delete_log.sh

当前是13:58 我希望13:59执行一次

等一下把

判断脚本是否有效,就是查看日志文件,刚才符合条件的有三个,如果13:59之后,三个变成0个,那么说明脚本生效

这里有一个插曲,怎么也不起作用,后来发现执行./delete_log.sh

-bash: ./log.sh: Permission denied

我以为是名称的问题,把delete_log.sh改成log.sh也不行,后来发现执行方式不对

sh ./log.sh

现在sh脚本起到效果了,哈哈哈哈哈

展开阅读全文

页面更新:2024-02-28

标签:脚本   文件   日志   插曲   文件夹   步骤   命令   麻烦   大小   编辑   发现

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top