文档章节

ruby删除指定目录文件大小超过限额

lucifercn
 lucifercn
发布于 2014/06/05 15:16
字数 105
阅读 94
收藏 0
#!/usr/bin/ruby -w 
#author: caoqing
#date: 06-04-2014

require 'fileutils'

# target directory
d = "D:/test"
# size of file, MB
quota = 4 * 1024 * 1024

dir = Dir.new("#{d}")
entries = dir.entries

# delete "." and ".."
entries.delete_if { |entry| entry =~ /^\./}
# convert the relative path to the full path
entries.map! { |entry| File.join(dir.path, entry) }
# maintain only the type of file
entries.delete_if { |entry| !File.file?(entry) }
# p entries

# calculate the file size
total_size = entries.inject(0) { |total, entry| total + File.size(entry)}
# p total_size
# p quota
# p total_size.class

# delete file if condition is satisfied
FileUtils.rm_rf(Dir.glob("#{d}/*")) if total_size > quot


© 著作权归作者所有

共有 人打赏支持
lucifercn
粉丝 14
博文 71
码字总数 63041
作品 0
深圳
程序员
Linux常用命令(九)磁盘配额管理

Linux常用命令(九)磁盘配额管理 一、磁盘配额概述 1、磁盘配额的作用范围 quota软件设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其它未设置配额的文件系统时,将不会受...

侯良金
2017/09/20
0
0
ext和xfs格式文件系统的磁盘配额

一:ext格式的文件系统磁盘配额,这里以案例的形式来解释ext格式的文件系统磁盘配额 案例1; parted -s /dev/sdd mklabel gpt //指定sdd硬盘的格式为gpt parted /dev/sdd mkpart primary 1 1G...

柠檬琉璃H
2017/11/25
0
0
df du 命令和磁盘分区介绍的用法介绍

4.1 df 命令 4.2 du 命令 4.3 磁盘分区 4.1 df命令 Linux中 命令的功能是用来检查 linux 服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空...

WiFi362227
2017/11/03
0
0
打造一个简单的TXT文本操作及日志框架

首先先介绍一下这个项目,该项目实现了文本写入及读取,日志写入指定文件夹或默认文件夹,日志数量控制,单个日志大小控制,通过约定的参数让用户可以用更少的代码解决问题。 1.读取文本文件...

殷慈航
07/28
0
0
第十章 文件查找与打印文件列表:find命令

第十章 文件查找与打印文件列表:find命令 名字解释 find命令 用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为查找的目录名。如果使用该命令时,不设置任何参数,则find命令将...

506554897
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

驰狼课堂

http://www.chilangedu.com/

求是科技
13分钟前
0
0
jumpserver 报错"Incorrect string value

申明 本文所有内容参考自jumpserver记录命令无法入库问题 #1773 简介 jumpserver 1.4.0在jumpserver.log中大量报错,错误日志 File "/opt/jumpserver/apps/terminal/api.py", line 246, i...

zhnxin
19分钟前
2
0
用户管理相关配置文件及命令

9月19日任务 2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理 扩展知识 实用小工具 简单命令行下实现Linux/Windows文件互传 前提:使用远程工具Xsh...

robertt15
37分钟前
0
0
presto 架构

presto 介绍 是Facebook开源的,完全基于内存的并⾏计算,分布式SQL交互式查询引擎 是一种Massively parallel processing (MPP)架构,多个节点管道式执⾏ ⽀持任意数据源(通过扩展式Connect...

张欢19933
37分钟前
0
0
Ajax技术应用

1. 相关概述 1. ajax:即异步js与xml,可以实现客户端与服务端之间数据的异步交互。对于普通的B/S 模式是采用的同步方式,即一次请求必须等待一次服务器响应完成,而异步则是客户端发送请求后...

江左煤郎
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部