linux Shell: 定时清理指定目录下大于指定大小、指定文件名的文件?
来源:互联网 发布:linux 查杀进程 编辑:程序博客网 时间:2024/05/13 13:23
定时清理指定目录下大于指定大小、指定文件名的文件
1、查找指定目录下大于(小于)指定大小、指定文件名的文件
find pathname –size +filesizec –name filename
find pathname –size -filesizec –name filename
2、清理(删除)
find pathname –size filesize –exec rm {} \;
3、定时
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
crontab定时时间格式如下:
t1 t2 t3 t4 t5 program
t1:表示分钟,取值(0-59)。
t2:表示小时,取值(0-23)。
t3:表示日,取值(1-31)。
t4:表示月份,取值(1-12)。
t5:表示星期,取值(0-6),0是星期天。
还有几个特殊的符号:“*”,“/”,“-”。
“*”表示所有取值范围内的数字,“/”表示每的意思,比如在分钟上 */2 ,表示每两分钟为一个单位,“-”表示从某个数字到某个数字。
由于crontab是个全局命令,因此可以在任何目录下操作crontab。
实例及总结:
在每周五的5点5分删除temp目录下文件大小走超过1KB的所有文件。
(1)文件名为findfile.sh,如下:
#!/bin/shfind temp -size +1k -exec rm {} /;
(2)然后对findfile.sh文件操作:
chmod u+rwx findfile.sh #修改文件属性,使该shell脚本可执行。
#在该脚本所在目录,./findLog.sh就可以执行该shell脚本了。
(3)在当前目录下 crontab -e编辑crontab,键入i使其成为可输入,输入如下内容:
5 5 * * 5 /bin/sh /home/findfile.sh
/bin/sh代表shell程序,可以通过which sh 命令来查看机器的shell程序在哪个目录。
(4)启动cron服务
sudo /usr/sbin/service cron start
参考:
http://blog.chinaunix.net/u/31547/showart_438018.html
- linux Shell: 定时清理指定目录下大于指定大小、指定文件名的文件?
- spring Quartz定时清理指定目录下的文件
- linux下编写shell获取指定目录下的文件名
- 目录下指定文件的批量清理
- windows 定时清理指定目录文件bat
- Shell脚本实例(二) 向指定目录下不断产生指定大小的文件
- shell脚本自动清理超过指定大小的文件
- Linux/Unix下读取指定目录下的所有文件名
- Linux/Unix下读取指定目录下的所有文件名
- 用批处理枚举指定目录下所有文件的文件名
- java 查找目录下指定文件名的文件
- java 查找目录下指定文件名的文件源代码
- linux 删除指定文件夹指定大小指定类型的文件
- linux c/c++ 读取指定目录下的文件名
- 通过递归查询指定目录下的所有文件和子文件夹下的指定文件名
- 获取指定目录下的文件名列表
- 获取指定目录下的所有文件名
- PHP修改指定目录下的文件名
- JSTL标签库学习总结
- linux 多进程编程
- 《C和指针》学习笔记
- JSTL标签库学习总结
- const关键字在类的成员函数上的应用(1)
- linux Shell: 定时清理指定目录下大于指定大小、指定文件名的文件?
- 前台调用后台方法
- JSTL标签库学习总结
- vb6 打印
- DataSnap与JSON序列化(4)
- const关键字在类的成员函数上的应用(2)
- Linux内核源代码中的Makefile分析
- HtmlParser初步研究(转帖加其他参考理解)
- 高性能WEB开发(6) - web性能测试工具推荐