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打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...
随机推荐
- Openldap命令详解
Openldap 客户端常用管理命令 1.ldapadd -x: 简答认证方式 -W: 不需要在命令上写密码 ldapapp -x -D "cn=Manager,dc=suixingpay, ...
- CentOS7 图形化方式安装 Oracle 18c 单实例
下载 Oracle 数据库,zip 包 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.h ...
- python 正则表达式re模块
#####################总结############## 优点: 灵活, 功能性强, 逻辑性强. 缺点: 上手难,旦上手, 会爱上这个东西 ...
- ThinkSNS2.5前台getshell+后台任意文件删除
12年爆出的一个洞 前几天比赛的一个cms 于是跟出题人表哥要过来审计了看看 漏洞文件再根目录thumb.php中 <?php /* * 自动缩略图 参数 url|w|h|type=" ...
- linux磁盘空间占满问题快速定位并解决
经常会遇到这样的场景:测试环境磁盘跑满了,导致系统不能正常运行!此时就需要查看是哪个目录或者文件占用了空间.常使用如下几个命令进行排查:df, lsof,du. 通常的解决步骤如下:1. df -h ...
- java操作数据库:分页查询
直接上.... 还是用之前的goods表,增加了一些数据 1.实体类Goods // 封装数据 public class Goods { private int gid; private String ...
- 几个js 拓扑图库
计划做一个元数据平台, 因为要包含血缘分析功能, 所以要调研一下js 拓扑图库, 候选对象主要参考知乎上的问答, javascript 有哪些适合做网络拓扑图形展示的包? https://www.zh ...
- vue cli 解决跨域 线上 nginx 反向代理配置
前后分离 axios 接 api 跨域问题如图: 解决办法: 1. npm start 本地开发环境解决: 在webpack配置文件 /config/index.js 里找到 proxyTable 开 ...
- 13.CrawlSpider类爬虫
1.CrawlSpider介绍 Scrapy框架中分两类爬虫,Spider类和CrawlSpider类. 此案例采用的是CrawlSpider类实现爬虫. 它是Spider的派生类,Spider类的设 ...
- UIBezierPath基本使用
UIBezierPath * aPath = [UIBezierPath bezierPathWithArcCenter:point radius:5 startAngle:0 endAngle:2 ...