Linux下自动清理超过指定大小文件
作者:邓聪聪
扫描某个目录下的文件,发现超过指定大小即清空
1)扫描目录下的文件
2)判断文件大小
3)清空大于指定文件的内容
以byte为单位显示文件大小,然后和20M大小做对比. 20M换算成字节为20971520这里判断是否大于20M,大于则使用echo 语句将对应文件置空
20M=20 * 1024 * 1024=20971520 echo `expr 20 \* 1024 \* 1024`
方法1
可以使用dd命令创建一个20M的文件,测试下:
dd if=/dev/zero of=/root/test/.txt bs=1M count=
[root@admin test]# dd if=/dev/zero of=/root/test/.txt bs=1M count=
+ records in
+ records out
bytes ( MB) copied, 0.0202923 s, 1.0 GB/s
[root@admin test]# ll
-rw-r--r-- root root Nov : .txt
[root@admin test]# du -sh .txt
20M .txt
处理脚本:
#!/bin/bash
for size in $(ls -l /root/test/* |awk '{print $5}')
do
for file in $(ls -l /root/test/* | grep $size |awk '{print $9}')
do
if [ ${size} -gt 62914560 ];then
echo ${file} ${size}
echo "" > ${file}
fi
done
done
结合crontab进行定时执行
[root@admin test]# chmod scan_gt_20.sh
[root@admin test]# /bin/bash -x scan_gt_20.sh
[root@admin test]# crontab -e
* * /bin/bash -x /root/test/scan_gt_20.sh > /dev/null >&
方法2
"find -size" -size 选项用于查找满足指定的大小条件的文件(注意不查找目录), +表示大于, -表示小于, 没有+或-表示正好等于。
可以使用dd命令创建一个20M的文件,测试下:
[root@admin test]# dd if=/dev/zero of=/root/test/.txt bs=1M count=
+ records in
+ records out
bytes ( MB) copied, 0.0259113 s, MB/s
[root@admin test]# find ./ -type f -size +20M
./.txt
[root@admin test]#
处理脚本
[root@admin test]# vi scan_gt_20.sh
#!/bin/bash
for i in $(find /root/test/* -size +20M);
do
echo " " > $i;
done
[root@admin test]# crontab -e
* * /bin/bash -x /root/test/scan_gt_20.sh > /dev/null >&
Linux下自动清理超过指定大小文件的更多相关文章
- Linux下自动清理超过指定大小文件的方法
由于线上业务用的squid,根据经验值如果长时间运行则缓存目录下的swap.state会慢慢变大,一旦超过60M,squid的性能就会急剧下降,因此需要定时去清理大于60M的swap.state文件. ...
- Linux下面自动清理超过指定大小的文件
Linux下面自动清理超过指定大小的文件 思路:1)查找test目录下的所有的文件2)判断是否大于100M3)大于100M则清空 以byte为单位显示文件大小,然后和100M大小做对比. 100M换算 ...
- Linux中定时删除超过指定大小的文件夹
背景: 开发环境总是动不动就没有空间了, 大部分都是debug日志.所以有必要在日志很疯狂的时候,删除不必要的日志. 思路:一. 书写删除日志文件脚本: 定时任务执行. 但是有时候的日志是需要保存用 ...
- Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
- Linux下自动清除MySQL日志文件
MySQL运行过程中会生成大量的日志文件,占用不少空间,修改my.cnf文件配置bin-log过期时间,在Linux下自动清除MySQL日志文件 [mysqld] expire-logs-days= ...
- linux磁盘清理方法 Linux 下垃圾清理工具 BleachBit
由于当初安装系统设计不合理,有些分区的过小,以及网络通讯故障等造成日志文件速度增长等其他原因都可以表现为磁盘空间满,造成无法读写磁盘,应用程序无法执行等.下面就给你支几招(以/home空间满为例): ...
- linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)
linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...
- Linux下自动备份MySQL数据库并上传到远程FTP服务器
Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...
- 【java】 linux下利用nohup后台运行jar文件包程序
Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...
随机推荐
- jenkins 构建
自动触发构建 远程构建 本地默认情况下是能够自动构建的,因为浏览器已经登录 了jenkins,如果从别的地方调用的话需要加上用户名和密码做认证,方法如下 curl -u a:a http://Jenk ...
- Hadoop记录-Hadoop监控指标汇总
系统参数监控metrics load_one 每分钟的系统平均负载 load_fifteen 每15分钟的系统平均负载 load_five 每5 ...
- cmd快速设置本机ip和dns【转】
. 参考: https://wenku.baidu.com/view/74c59947336c1eb91a375dbe.html 家里配置如下 尾部的1不要忘了 netsh interface ip ...
- UVA - 11732 "strcmp()" Anyone? (trie)
https://vjudge.net/problem/UVA-11732 题意 给定n个字符串,问用strcmp函数比较这些字符串共用多少次比较. strcmp函数的实现 int strcmp(cha ...
- system.net.webexception远程服务器返回了错误: NotFound。
Not Found类的错误主要是由于网络服务访问出错.所以需要分析是由哪个网络服务访问失败而导致的. DataAccessSilverlight.PowerDataServiceReference.G ...
- Newtonsoft.Json序列化Enum类型
[JsonConverter(typeof(StringEnumConverter))] public StringAlignment TextAlign { get => textAlign; ...
- 最棒的 JavaScript 学习指南(2018版)
译者注:原文作者研究了近2.4万篇 JavaScript 文章得出这篇总结,全文包含学习指南.新人上手.Webpack.性能.基础概念.函数式编程.面试.教程案例.Async Await.并发.V8. ...
- Vue学习第一天:Vue.js指令系统
1. 如何使用Vue.js? 1.1 直接引入 - <script src="./statics/vue.min.js"></script> - 引入之后在 ...
- Coursera Deep Learning 3 Structuring Machine Learning Projects, ML Strategy
Why ML stategy 怎么提高预测准确度?有了stategy就知道从哪些地方入手,而不至于找错方向做无用功. Satisficing and Optimizing metric 上图中,run ...
- python常用模块之os模块
全部参考~~~~~~~ 1. 解释说明版:https://www.cnblogs.com/yufeihlf/p/6179547.html 2. 简洁版: https://www.cnblogs.com ...